【发布时间】:2012-03-18 10:18:01
【问题描述】:
我想获得每行某些列的平均值。
我有这些数据:
w=c(5,6,7,8)
x=c(1,2,3,4)
y=c(1,2,3)
length(y)=4
z=data.frame(w,x,y)
返回:
w x y
1 5 1 1
2 6 2 2
3 7 3 3
4 8 4 NA
我想获得某些列的平均值,而不是所有列。我的问题是我的数据中有很多 NA。因此,如果我想要 x 和 y 的平均值,这就是我想要返回的:
w x y mean
1 5 1 1 1
2 6 2 2 2
3 7 3 3 3
4 8 4 NA 4
我想我可以做类似z$mean=(z$x+z$y)/2 的操作,但 y 的最后一行是 NA,所以显然我不想计算 NA,我不应该除以 2。我尝试了cumsum,但是当该行中只有一个 NA 时,它会返回 NA。我想我正在寻找可以添加选定列、忽略 NA、获取没有 NA 的选定列数并除以该数字的东西。我试过 ??mean 和 ??average 并且完全被难住了。
ETA:还有一种方法可以为特定列添加权重吗?
【问题讨论】:
标签: r