如何使用R检查我的数据集中字段的文本中是否包含特定单词.
在SQL中,我们可以使用LIKE比较运算符.例如,
SELECT * FROM schools WHERE name LIKE '%Public School%'
Run Code Online (Sandbox Code Playgroud)
如果我必须在R中做同样的事情,我该怎么做?
特定
schools <- data.frame(rank = 1:20,
name = rep(c("X Public School", "Y Private School"), 10))
Run Code Online (Sandbox Code Playgroud)
试试这个:
subset(schools, grepl("Public School", name))
Run Code Online (Sandbox Code Playgroud)
或这个:
schools[ grep("Public School", schools$name), ]
Run Code Online (Sandbox Code Playgroud)
或这个:
library(sqldf)
sqldf("SELECT * FROM schools WHERE name LIKE '%Public School%'")
Run Code Online (Sandbox Code Playgroud)
或这个:
library(data.table)
data.table(schools)[ grep("Public School", name) ]
Run Code Online (Sandbox Code Playgroud)
或这个:
library(dplyr)
schools %>% filter(grepl("Public School", name))
Run Code Online (Sandbox Code Playgroud)