逐列评估数据框,并根据满足条件替换该列中的每个值

时间:2017-05-31 08:02:23

标签: r

我有一个像这样的数据框(df):

0 5 5 5 5 5
0 5 5 5 0 5
0 5 5 5 NA 5
5 0 0 0 NA 5

我希望依次检查每一列,并计算值大于0的行数。如果值大于0的行数大于3,我想用NA替换该列中的所有值。上面的输出如下所示:

0 5 5 5 5 NA
0 5 5 5 0 NA
0 5 5 5 NA NA
5 0 0 0 NA NA

这就是我试过的

df[,(nrow(df)>0)> 3]<-NA

1 个答案:

答案 0 :(得分:1)

这是解决方案:

df[, colSums(df > 0)> 3]<-NA