我有一个像这样的数据框。
df
Languages Order Machine Company
[1] W,X,Y,Z,H,I D D B
[2] W,X B A G
[3] W,I E B A
[4] H,I B C B
[5] W G G C
我想获取语言在 W、H、I 中具有 3 个值中的 2 个的行数。
结果应该是:3,因为第 1 行、第 3 行和第 4 行至少包含 W、H、I 中 3 个值中的 2 个值
最佳答案
您可以在 df$Languages
上使用 strsplit
并与 W、H、I 进行相交
。然后获取该结果的长度
,并使用which
获取那些超过1 >1
的结果。
sum(lengths(sapply(strsplit(df$Languages, ",", TRUE), intersect, c("W","H","I"))) > 1)
#[1] 3
关于r - 过滤至少具有两个特定值的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67583162/