如何对有值的列进行计数

  • 本文关键字: r
  • 更新时间 :
  • 英文 :


在我的数据中,我有6列值。一些参与者有NA,其他参与者有一些值。现在我想为每个参与者计数,如果他们有值,则为+1,如果他们没有,则为0,所以这里是NA。列中有哪些值并不重要,只要有值就行。我该怎么做呢?用ifelse函数可以吗?

例如

2 4 6 8 10 12 -> 1
NA NA NA NA NA NA -> 0
1 3 5 7 9 11 -> 1
df <- data.frame(matrix(data=rep.int(c(1, 2, NA), 12), ncol=6))
df$test_not_na <- apply(df, 1, FUN=function(x){as.integer(!any(is.na(x)))})
df
#   X1 X2 X3 X4 X5 X6 test_not_na
# 1  1  1  1  1  1  1       1
# 2  2  2  2  2  2  2       1
# 3 NA NA NA NA NA NA       0
# 4  1  1  1  1  1  1       1
# 5  2  2  2  2  2  2       1
# 6 NA NA NA NA NA NA       0

相关内容

  • 没有找到相关文章

最新更新