【发布时间】:2015-11-29 23:19:57
【问题描述】:
假设我想为作业 [X1 X2 X3 X4 X5] 取 5 个分数的平均值 (AVG)。如果缺少 2 个或更多分数,我如何指示 AVG 丢失?因此,如果缺少 [X1...X5] 中的任何 2 个或更多,那么它会将 AVG 列为缺失或 N/A?
【问题讨论】:
假设我想为作业 [X1 X2 X3 X4 X5] 取 5 个分数的平均值 (AVG)。如果缺少 2 个或更多分数,我如何指示 AVG 丢失?因此,如果缺少 [X1...X5] 中的任何 2 个或更多,那么它会将 AVG 列为缺失或 N/A?
【问题讨论】:
您可以使用如下函数:
scorefunc <- function(x) {
#if the total number of the missing is more than 1 return missing
#else return the average value
if(sum(is.na(x)) > 1) return(NA) else(return(mean(x, na.rm=TRUE)))
}
然后进行测试:
#two example vectors
vec1 <- c(1,5,6,7,NA)
vec2 <- c(NA, NA, 4, 1, 5)
#> scorefunc(vec1)
#[1] 4.75
#> scorefunc(vec2)
#[1] NA
【讨论】: