【发布时间】:2014-02-14 17:42:28
【问题描述】:
我想创建一个包含其他两列平均值的新列。
例如按原表(dat)看起来是这样的:
A B
1 1 NaN
2 3 2
3 2 5
4 4 4
5 6 NaN
6 5 3
我现在想要一个平均 A 和 B 的 C 列,所以我尝试了以下方法
dat$C<-(dat$A + $dat$B)/2
但我得到的是这个
A B C
1 1 NaN NaN
2 3 2 2.5
3 2 5 3.5
4 4 4 4
5 6 NaN NaN
6 5 3 4
当我想要的是这个时
A B C
1 1 NaN 1
2 3 2 2.5
3 2 5 3.5
4 4 4 4
5 6 NaN 6
6 5 3 4
那么如何在解决数据集中缺失值的同时计算这个新的平均值列?
【问题讨论】:
-
试试
df$C <- rowMeans(df, na.rm = TRUE),其中df是你的data.frame -
@dickoa 感谢您的帮助。不幸的是,在我的实际数据集中,我还有其他标识符列,我没有计算平均值,所以这不起作用。
-
只需将 data.frame 子集传递给 rowMeans :
dat$C <- rowMeans(dat[,c('A','B')], na.rm = TRUE) -
@digEmAll 做到了!谢谢大家:)
标签: r nan mean calculated-columns