我无法让 na.rm 表现出我想要的样子。我正在练习编写函数,目前正在编写平均值函数。我的测试向量是 t <- c(12,14, NA, 1)
我的两个测试是
my.mean(t)
my.mean(t, na.rm=TRUE)
我的第一个函数通过了测试,但测试 2 仍然返回 NA(应该是 9)
my.mean <- function(x, na.rm) {
stopifnot(is.numeric(x))
answer <- sum(x)/length(x)
return(answer)
}
然后我更改了适用于第二个测试的函数并返回 9 但第一个测试返回 Error in my.mean(t.2) : argument "na.rm" is missing, with no default
my.mean <- function(x, na.rm) {
stopifnot(is.numeric(x))
if na.rm=TRUE {na.omit()}
answer <- sum(x)/length(x)
return(answer)
}