私のデータフレームExpenses
は以下のとおりです:
date name expenditure type
23MAR2013 KOSH ENTRP 4000 COMPANY
23MAR2013 JOHN DOE 800 INDIVIDUAL
24MAR2013 S KHAN 300 INDIVIDUAL
24MAR2013 JASINT PVT LTD 8000 COMPANY
25MAR2013 KOSH ENTRPRISE 2000 COMPANY
25MAR2013 JOHN S DOE 220 INDIVIDUAL
25MAR2013 S KHAN 300 INDIVIDUAL
26MAR2013 S KHAN 300 INDIVIDUAL
以前に、 name
列から繰り返しの名前とパターンの存在を特定し、それをベクトルに格納しましたNameVector
。それは以下に示すとおりです。
KOSH JOHN DOE KHAN JASINT
私の質問は、どのようにすべての文字列パターンをExpenses$name
ベクトルNameVector
と一致させ、メイン データ フレームにカテゴリ別に出力するかです。
date name expenditure type category
23MAR2013 KOSH ENTRP 4000 COMPANY KOSH
23MAR2013 JOHN DOE 800 INDIVIDUAL JOHN DOE
24MAR2013 S KHAN 300 INDIVIDUAL KHAN
24MAR2013 JASINT PVT LTD 8000 COMPANY JASINT
25MAR2013 KOSH ENTRPRISE 2000 COMPANY KOSH
25MAR2013 JOHN S DOE 220 INDIVIDUAL JOHN DOE
25MAR2013 SALM KHAN 300 INDIVIDUAL KHAN
26MAR2013 S KHAN 300 INDIVIDUAL KHAN
名前のさまざまな部分をさまざまな列に取得し、name
使用してパターンを一致させるために、可能なすべての区切り記号 (スペース、|、*、コンマなど) で列を分割しようとしましたが、目的の出力が得られません。データをさらに詳しく調べると、先頭に空白があることに気付き、それらを取り除きましたが、上記のように出力が得られない理由はまだわかりません。strsplit()
agrep()
上記のテーブルの csv:
"Date","name","expenditure","type"
"23MAR2013","KOSH ENTRP",4000,"COMPANY"
"23MAR2013 ","JOHN DOE",800,"INDIVIDUAL"
"24MAR2013","S KHAN",300,"INDIVIDUAL"
"24MAR2013","JASINT PVT LTD",8000,"COMPANY"
"25MAR2013","KOSH ENTRPRISE",2000,"COMPANY"
"25MAR2013","JOHN S DOE",220,"INDIVIDUAL"
"25MAR2013","S KHAN",300,"INDIVIDUAL"
"26MAR2013","S KHAN",300,"INDIVIDUAL"
および計算された/識別された名前ベクトル
NameVector <- c("KOSH","JOHN DOE","KHAN","JASINT")