我想删除表达式数据集中的行,这些行的值总共为零,我搜索并找到下面的代码我不确定它的工作原理是什么人能解释我[(3:col(df))]]==0)==col(df)-2, ]
这个论点是什么装置
df[ !(df[rownames(df),[(3:col(df))]]==0)==col(df)-2, ]
答案 0 :(得分:2)
这是一种笨重的代码,似乎有点乱码。
df[rowSums(df[,3:ncol(df)]==0)!=ncol(df)-2,]
将选择数据帧的行,其中列的最后一个(ncol-2)不是全为零。
df[,3:ncol(df)]
选择除前两列以外的所有列rowSums(.==0)
计算每行中的零数. != ncol(df)-2
为TRUE
df[.,]
选择行稍微简单的替代方案是
df[any(df[,-(1:2)]!=0),]