3
2つの可変データフレームの1つが文字ベクトルです。 「MyVector」の各行には、ちょうど1つの名前(「ピート」)の文字列が含まれています。名前は、文字列内でその位置が異なることがあります。リスト内の名前と文字列の名前が一致するコードを作成し、その名前をデータフレーム内の新しい変数に抽出したいとします。 名前が常にベクトル "MyVector"の同じ位置にあった場合、MyVectorのサブストリングとして新しい変数を作成して、名前を新しい列に引き出します。 私はStringrからstr_detectの様々なバージョンを無駄にしようとしました。文字列変数の単語のリストを検出し、データフレームの新しい変数に一致する単語を抽出します。
課題:新しい変数に名前を検出または抽出し、その名前が複数の位置にある場合、MyDFに配置する方法を教えてください。
#Create the data frame
var.1 <-rep(c(1,5,3),2)
MyVector <- c("I know Pete", "Jerry has a new job","Victor is an employee","How to work with Pete","Too Many Students","Bob is mean")
MyDF <-as.data.frame(cbind(var.1,MyVector))
#Create a vector of a list of names I want to extract into a new column in the dataframe.
Extract <- c("Jerry","Pete", "Bob", "Victor")
#Match would be perfect if I could use it on character vectors
MyDF$newvar <-match(MyDF$MyVector,Extract)
私の最後のdata.frameは、以下の出力のようになるはずです。
var.1 MyVector NEWVAR
1 1 Don knows Pete Pete
2 5 Jerry has a new job Jerry
3 3 Victor and Bob are employees Victor
4 1 How to work with Pete Pete
5 5 Too Many Students NA
6 3 Bob is mean Bob
「エキス」をINGの
paste
後str_extract
を使用することができますか?たとえば、OPの例の行3にはVictorとBobが含まれていますが、答えにVictorだけが返されます。ありがとう。 – Seanosapien