使用时如何忽略NA?

tem*_*mor -1 r

1)

x=2;y=3
mean(x,y)
#[1] 2
Run Code Online (Sandbox Code Playgroud)

我很惊讶为什么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
Run Code Online (Sandbox Code Playgroud)

我想计算之间的平均xy.当有NA,只要把其他值.

期望的输出:

2.5 5 NA
Run Code Online (Sandbox Code Playgroud)

RHe*_*tel 9

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

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

  • 谢谢你的编辑,@ DavidArenburg明确更好,不易出错,拼出`TRUE`.我的坏习惯...... (3认同)

CAF*_*ABE 7

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

 mean(c(x,y))
Run Code Online (Sandbox Code Playgroud)

你实际上可以定义自己的意思来解决这个问题

 mymean <- function(...,na.rm=FALSE){mean(c(...),na.rm=na.rm)}
Run Code Online (Sandbox Code Playgroud)

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