Elemento-wise media en R


En R, tengo dos vectores:

a <- c(1, 2, 3, 4)
b <- c(NA, 6, 7, 8)

¿Cómo encuentro la media en cuanto a elementos de los dos vectores, eliminando NA, sin un bucle? es decir, quiero obtener el vector de

(1, 4, 5, 6)

Conozco la función mean(), conozco el argumento na.rm = 1. Pero no se como armar las cosas. Para estar seguro, en realidad tengo miles de vectores con NA apareciendo en varios lugares, por lo que cualquier solución dependiente de la dimensión no funcionaría. Gracias.

 24
Author: Zhang18, 2010-08-17

2 answers

Qué tal:

rowMeans(cbind(a, b), na.rm=TRUE)

O

colMeans(rbind(a, b), na.rm=TRUE)
 32
Author: Greg,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-08-16 21:34:17

No estoy exactamente seguro de lo que está pidiendo, pero lo hace

apply(rbind(a,b),2,mean,na.rm = TRUE)

Haz lo que quieras?

 3
Author: deinst,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-08-16 21:33:03