R - Добавление вектора / массива
У меня возникли небольшие проблемы с векторными или массивными операциями.
У меня есть три 3D-массива, и я хочу найти среднее из них. Как я могу это сделать? мы не можем использоватьmean()
так как он возвращает только одно значение.
Более важным является то, что некоторые ячейки в массивах имеют значение NA, что означает, если я просто добавлю их как
A = (B + C + D)/3
Результаты покажет НС.
Как я могу позволить ему распознать, если ячейка NA, тогда просто пропустите это
подобно
A = c(NA, 10, 15, 15, NA)
B = c(10, 15, NA, 22, NA)
C = c(NA, NA, 20, 26, NA)
Я хочу, чтобы на выходе в среднем эти векторы были
(10, (10+15)/2, (15+20)/2, (15+22+26)/3, NA)
Мы также не можем использоватьna.omit
, потому что это будет перемещать порядок индексов.
Это соответствующий код. Я хотел бы, чтобы это было полезно.
for (yr in 1950:2011) {
temp_JFM <- sst5_sst2[,,year5_sst2==yr & (month5_sst2>=1 & month5_sst2<=3)]
k = 0
jfm=4*k+1
for (i in 1:72) {
for (j in 1:36) {
iposst5_sst2[i,j,jfm] <- (temp_JFM[i,j,1]+temp_JFM[i,j,2]+temp_JFM[i,j,3])/3
}
}
}
Спасибо тебе.
Это уже решено.
Самый простой способ исправить это может быть показан ниже.
iposst5_sst2[i,j,jfm] <- mean(temp_JFM[i,j,],na.rm=TRUE)