删除单元格与给定向量匹配的数据框行

标签 r dataframe subset

我有一个包含各种列数和行数的大数据框。我会在数据框中搜索给定向量的值,并删除与该给定向量的值匹配的单元格行。我想把它作为一个函数,因为我必须在可变行和列的多个数据帧上运行它,我想避免 for 循环。

例如

ff<-structure(list(j.1 = 1:13, j.2 = 2:14, j.3 = 3:15), .Names = c("j.1","j.2", "j.3"), row.names = c(NA, -13L), class = "data.frame")

删除所有包含值 8,9,10 的单元格的行

我想我可以使用 ff[ !ff[,1] %in% c(8, 9, 10), ]subset(ff, !ff[,1] %in% c(8,9,10) )

但为了从数据集中删除所有值,我必须解析每一列(可能使用 for 循环,这是我希望避免的)。

还有其他(更清洁)的方法吗?

非常感谢

最佳答案

对每一行应用你的测试:

keeps <- apply(ff, 1, function(x) !any(x %in% 8:10))

给出一个 bool 向量。然后用它子集:

ff[keeps,]

   j.1 j.2 j.3
1    1   2   3
2    2   3   4
3    3   4   5
4    4   5   6
5    5   6   7
11  11  12  13
12  12  13  14
13  13  14  15
> 

关于删除单元格与给定向量匹配的数据框行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11004203/

相关文章:

python - 字符串的子集

string - R:根据元素长度从向量中删除元素

c# - 在 C# 中快速检索大型集合中使用的属性子集

跨 NA 和 NULL 行回滚 xts

r - 如何在 R 的 lm() 中正确选择因变量和控件?

r - 多个用户可以同时访问一个开源的 Shiny Server 吗?

r - R中从tibble到txt或excel文件

r - 将字符串拆分为 R 中的列

python - 如何计算一个数据框与另一个数据框相比的距离?

python - 多索引数据的堆积图