В R у меня есть два вектора:
a <- c(1, 2, 3, 4)
b <- c(NA, 6, 7, 8)
Как я нахожу поэлементные средние из этих двух векторов, удаляя NA, без цикла? т.е. Я хочу получить вектор
(1, 4, 5, 6)
Я знаю функцию mean()
, Я знаю аргумент na.rm = 1
. Но я не знаю, как соединить вещи. Безусловно, в действительности у меня есть тысячи векторов с NA, появляющимся в различных местах, таким образом, любое зависимое от размера решение не работало бы.Спасибо.
как насчет:
rowMeans(cbind(a, b), na.rm=TRUE)
или
colMeans(rbind(a, b), na.rm=TRUE)
Я не совсем понимаю, о чем вы просите, но делает ли
apply(rbind(a,b),2,mean,na.rm = TRUE)
это то, что вы хотите?