Я хочу вычислить среднее значение вектора с пропущенными значениями, только если существует хотя бы несколько значений.Так, например, если только одно (или менее пяти) значений не пропущено, я хочу вернуть NA, но если у меня есть как минимум два (или более пяти) не пропущенных значения, я хочу вернутьсреднее.
Как я могу добиться этого, используя mean()
?
Стандартное поведение mean()
- либо вернуть NA, если отсутствует хотя бы одно значение, либо вернуть среднее значение, еслипо крайней мере одно значение не пропущено (я хочу что-то среднее):
x = c(1, 2, NA, NA)
mean(x) # returns NA if there is one (or more) value missing
[1] NA
mean(x, na.rm = T) # returns the mean of the existing values (if there is at least one)
[1] 1.5
В идеале я хотел бы, чтобы решение работало для сценария tapply(..., FUN = mean)
.