我想创建一个包含平均两个其他列的新列。
例如,原始表(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
那么在处理数据集中的缺失值时如何计算这个新的平均值列呢?
答案 0 :(得分:1)
您也可以
dat$C <- apply(dat,1,function(x) mean(na.omit(x)))
na.omit
对于了解是否要创建更复杂的函数很有用,因为na.omit
来自基数R,而na.rm
是某些函数的参数。