如果缺少超过X值,如何声明丢失?

时间:2015-11-29 23:19:58

标签: r sum average

假设我想取5个分数的平均值(AVG)进行分配[X1 X2 X3 X4 X5]。如果缺少2个或更多分数,如何指示AVG丢失?那么,如果[X1 ... X5]中的任何2个或更多都丢失了,那么它会将AVG列为缺失或N / A?

1 个答案:

答案 0 :(得分:2)

您可以使用如下所示的功能:

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