У меня есть вопрос относительно функции Reduce
. Например, у меня есть список, в котором один из элементов имеет номер NA
.R: Уменьшить функцию. Na
a<-list(c(1,2),c(2,2),c(1,NA))
Я хотел бы использовать функцию Reduce
сделать в среднем элементов списка.
что (1+2+1)/3=1.33
и (2+2+NA)/3 = NA
Но в этом последнем случае, то, что я на самом деле нужно, чтобы избежать необходимости в НС, так что результат должен быть (2+2)/2 = 2
поэтому конечный результат является вектором 1.33, 2
Я использую Reduce("+", a)/length(a)
, но я получаю NA
из-за элемента NA.
Заранее спасибо
Если вы хотите использовать 'Reduce' try:' Reduce ("+", lapply (a, function (x) replace (x, is.na (x), 0)))/Reduce ("+" , lapply (a, Negate (is.na))) ' –