【发布时间】:2016-04-12 08:35:45
【问题描述】:
我想从我的数据框中排除至少有 2 个连续零的行。示例:
subj stimulus var1 var2 var3 var4
1 A 25 30 15 36
1 B 0 0 10 0
1 C 12 0 20 23
我想排除包含两个零的刺激 B 的试验,但保留 C 的值仅包含一个。 到目前为止,我已经尝试过:
has3Zeros <- function(x) {
x <- x[!is.na(x)] == 0
if (length(x) < 3) {
FALSE
}
}
df[,!sapply(df, has3Zeros), drop=F]
但它告诉我这是一个无效的参数类型。是否有一种“简单”的方法来完成排除具有连续零的行?
提前谢谢你。
【问题讨论】:
-
尽管我事先扫描了网络,但我现在使用了正确的关键字并在这里发现了同样的问题:stackoverflow.com/questions/11797216/… 在我的情况下,答案是:
df[rowSums(df==0)<=2,] -
不考虑是否为
consecutive。
标签: r