在R中检测字符串中的单词

时间:2016-07-20 08:57:55

标签: r

我有BigQuery Dataset with Reddit Comments。它有多个列,一个是带有实际注释的body列。我现在想要搜索某个单词,例如品牌提及,例如正文栏中的“BMW”,并在数据$ body中创建包含“BMW”的行的子集。

数据集看起来与此类似:

str(data)
data.frame: 75519 obs. of 113 variables
$ body: chr "...." .....
$ name: Factor w/ 22805 levels ....
....

我知道SQL命令,看起来像这样

SELECT * FROM dataset
WHERE body contains "BMW"

R中是否有类似的命令?

非常感谢!

编辑:解决方案

 bmw <- data[grep("BMW", data$body),]

感谢charleslmh

2 个答案:

答案 0 :(得分:2)

解决方案是

bmw <- data[grep("BMW", data$body),]

感谢charleslmh

答案 1 :(得分:1)

其中任何一个都会成功:

bmw <- data[ grep("BMW", data$body), ]  # numerical indexing
bmw <- data[ grepl("BMW", data$body), ] # logical indexing

第二个将成功,因为“[”函数选择“i”(第一个)位置中逻辑向量为TRUE的行。