【发布时间】:2017-05-19 13:30:54
【问题描述】:
我在 r 中有以下数据框
Id titles
1 emami paper mills slips 10% on dismal q4 numbers
2 jsw steel q4fy17 standalone net profit rises 173.33%
3 fmcg major hul q4fy17 standalone net profit rises 6.2
4 chennai petroleum, allsec tech slip 6-7% on poor q4
而且,我在向量中有名字
names <- c("emami ltd","jsw steel ltd","abc","hul india ltd","tcs","chennai petroleum corp ltd")
我想将数据框列标题与向量字符串匹配,并在新列中打印相应的字符串。我想要的数据框是
Id titles names
1 emami paper mills slips 10% on dismal q4 numbers emami ltd
2 jsw steel q4fy17 standalone net profit rises 173.33% jsw steel ltd
3 fmcg major hul q4fy17 standalone net profit rises 6.2 hul india ltd
4 chennai petroleum, allsec tech slip 6-7% on poor q4 chennai petroleum corp ltd
我正在使用以下代码进行操作,但它并没有给我想要的。
df[grepl(paste(names, collapse="|"), df$titles),]
如何在 R 中做到这一点?
【问题讨论】:
-
那是因为没有一个标题包含
"ltd"字符串。 IE。在您的第一个标题中只有"emami",而不是"emami ltd" -
那么,我该怎么做呢?
-
我假设您不希望查找中的
"ltd"正确? -
不,我不想要那个。
-
第三个不对吗?例如,您要仅匹配
"hul india"还是hul或india?
标签: r