Me gustaría obtener el promedio de ciertas columnas para cada fila.¿Cómo puedo obtener el promedio (media) de las columnas seleccionadas
que tienen estos datos:
w=c(5,6,7,8)
x=c(1,2,3,4)
y=c(1,2,3)
length(y)=4
z=data.frame(w,x,y)
que devuelve:
w x y
1 5 1 1
2 6 2 2
3 7 3 3
4 8 4 NA
me gustaría obtener la media para ciertas columnas, no todos ellos. Mi problema es que hay muchas NA en mis datos. Así que si quería que la media de x e y, esto es lo que me gustaría volver:
w x y mean
1 5 1 1 1
2 6 2 2 2
3 7 3 3 3
4 8 4 NA 4
supongo que podría hacer algo como z$mean=z$x+z$y/2
pero la última fila para Y es NA así que obviamente no quiero la NA a calcular y no debería dividir por dos. Intenté cumsum
, pero eso devuelve NA cuando hay una sola NA en esa fila. Supongo que estoy buscando algo que agregue las columnas seleccionadas, ignore las NA, obtenga el número de columnas seleccionadas que no tienen NA y divida por ese número. Lo intenté y el promedio y estoy completamente perplejo.
ETA: ¿Hay alguna manera de agregar un peso a una columna específica?
Gracias, esto es exactamente lo que estoy buscando. Realmente necesito estudiar este comando de aplicación mágica, parece que es una solución para todo. – thequerist