列表中一定数量的项目

MFR

我有这个清单

Mylist <- c("orange", "apple", "cherry")

而这个数据框

df<- data.frame(id = c(1,2,3), value = c("orange, peach, apple", "pineapple, mandarine, coconut", "cherry, peach"))

我希望选择包含列表中一定数量元素的行

在此示例中,我希望看到至少包含至少0个元素(至少1个)的行。但是,0可以是可变的。

所以,我的理想输出是

id             value
1          orange, peach, apple
3                 cherry, peach

我试过了,但是没有给我正确的结果。

df[sapply(strsplit(as.character(df$value), ","), function(x)  
  (x %in% Mylist)) > 0,]; 

如果有人建议我上述代码有什么问题,我将不胜感激。

阿克伦

我们可以通过使用'mylist'的元素创建一个patternpaste并使用'grep'检查它是否存在于'value'列中,并基于该子集对数据集对象进行子集化

df[grepl(paste0("\\b(", paste(tolower(Mylist), collapse="|"), ")\\b"), tolower(df$value)),]
#  id                value
#1  1 orange, peach, apple
#3  3        cherry, peach

如果我们根据数量需要它,那么

library(stringr)
df[Reduce(`+`, lapply(Mylist, str_count, string = df$value)) > 1,]
#  id                value
#1  1 orange, peach, apple

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

获取值列表并找到列表中一定数量项目之间的最大组合

你如何只随机替换列表中一定数量的项目?

使用jQuery按一定数量附加项目列表

在 Racket 中替换列表中一定数量的重复元素

按一定数量遍历列表

我如何打印列表中的项目,直到达到一定数量的行

列表中值的数量大于一定数量

列表中值的数量大于一定数量

将一个列表拆分为多个列表,每个列表都有一定数量的项目

当列表达到一定数量时采取措施

如何从列表中获取一定数量的字母?

获取一定数量后的文件夹列表

在列表中保存一定数量的海龟

从列表中删除最后一定数量的元素

如何从Python列表中选择一定数量的变量

如何让用户在 Web 应用程序中一次上传一定数量的图片?

熊猫:如果列字符串至少包含列表中一定数量的字符串,如何返回所有行?

如何禁用视口中一定数量点以下的标记聚类?

比较某行的值与data.table中一定数量的先前行

如何有效地改变数组中一定数量的值?

在angularjs中一定数量的字符后放置省略号(...)

PHP替换字符串中一定数量的字符

在JavaScript中一定数量的字符后在空格处拆分字符串

Vanilla JavaScript在字符串中一定数量的字符后附加<br>标签

选中一定数量后禁用复选框

MPI中一定数量的iovec之后,进程vm readv失败

如何将文件中一定数量的字符写入字符串?

在选中一定数量的复选框后禁用复选框

删除R中一定数量字符下的字符串