使用时如何忽略NA?

时间:2016-02-11 09:26:35

标签: r

1)

x=2;y=3
mean(x,y)
#[1] 2

我很惊讶为什么2.它应该是2.5!

2)

x=c(2,5,NA)
y=c(3,NA,NA)
mean(x,y,na.rm=TRUE)
Error in mean.default(x, y, na.rm = TRUE) : 
  'trim' must be numeric of length one

我想计算xy之间的平均值。当有NA时,只需输入其他值。

期望的输出:

2.5 5 NA

2 个答案:

答案 0 :(得分:9)

关于你的第二个问题,你可以试试这个:

> rowMeans(data.frame(x, y), na.rm = TRUE)
[1] 2.5 5.0 NaN

答案 1 :(得分:7)

关于你的第一个问题,它应该是

 mean(c(x,y))

您实际上可以定义自己的意思来修复此

 mymean <- function(...,na.rm=FALSE){mean(c(...),na.rm=na.rm)}

编辑:对于您的第二个问题,请参阅@RHertel的解决方案