字符串匹配记录以计算数据框中的所有实例
String matching records to count all instances in a dataframe
我正在尝试从数据框中的行中提取所有符合特定条件的字符串,例如每行中匹配 'corn' 的单词数。这是输入。
install.packages('stringr')
library(stringr)
dataset <- c("corn", "cornmeal", "corn on the cob", "meal")
y<- c('corn',"corn","mean","meal")
id<- c(1,2,3,4)
dataset <- data.frame(id,dataset,y)
id dataset y
1 1 corn corn
2 2 cornmeal corn
3 3 corn on the cob mean
4 4 meal meal
我正在尝试获得这样的输出
id dataset y corn meal
1 1 corn corn 2 0
2 2 cornmeal corn 1 0
3 3 corn on the cob mean 0 0
4 4 meal meal 0 2
使用 rowSums
的选项。我们创建一个名称向量进行比较,然后根据该名称创建列。
v1 <- c('corn', 'meal')
dataset[v1] <- sapply(v1, function(x) rowSums(dataset[-1]==x))
我正在尝试从数据框中的行中提取所有符合特定条件的字符串,例如每行中匹配 'corn' 的单词数。这是输入。
install.packages('stringr')
library(stringr)
dataset <- c("corn", "cornmeal", "corn on the cob", "meal")
y<- c('corn',"corn","mean","meal")
id<- c(1,2,3,4)
dataset <- data.frame(id,dataset,y)
id dataset y
1 1 corn corn
2 2 cornmeal corn
3 3 corn on the cob mean
4 4 meal meal
我正在尝试获得这样的输出
id dataset y corn meal
1 1 corn corn 2 0
2 2 cornmeal corn 1 0
3 3 corn on the cob mean 0 0
4 4 meal meal 0 2
使用 rowSums
的选项。我们创建一个名称向量进行比较,然后根据该名称创建列。
v1 <- c('corn', 'meal')
dataset[v1] <- sapply(v1, function(x) rowSums(dataset[-1]==x))