这是一个简单的问题,但我不确定我做错了什么。计算数据帧/表中每列的行数
df1 <- data.frame(
A = c(NA, 0.57, 0.60, 0.51),
B = c(NA, 0, 0.09,0.19),
C = c(0., 0.05, 0.07, 0.05),
D = c(0.23, 0.26, 0.23, 0.26)
)
View(df1)
# A B C D
# 1 NA NA 0.00 0.23
# 2 0.57 0.00 0.05 0.26
# 3 0.60 0.09 0.07 0.23
# 4 0.51 0.19 0.05 0.26
我需要在每一列是行数来获得每列和分裂的总和也不NA
也不0.00
结果应该是:
# A B C D
# 1 0.56 0.14 0.06 0.25
我试图df2 <- apply(df1, 2, function(x) colSums(df1, na.rm = T) /length(which(x !=0)))
但它返回一个4x4矩阵。我怀疑问题出在length(which(x !=0))
。请指教。
'sapply(DF1,函数(x)的总和(X,na.rm = T)/长度(其(X = 0)))' – Haboryme
你应该尝试停止思考循环,并开始思考Rish –