ProbarÃa con
apply(data, 1, function(x) names(table(x))[which.max(table(x))])
No sé si he contado los paréntesis bien.
El sáb., 14 abr. 2018 a las 20:33, Manuel Mendoza (<mmendoza en mncn.csic.es>)
escribió:
Gracias Carlos J., sale bien, pero me transforma las 6 categorÃas en
números del 1 al 6
¿sabes cómo evitarlo?
Quoting "Carlos J. Gil Bellosta" <cgb en datanalytics.com>:
apply(data, 1, function(x) which.max(table(x)))
El sáb., 14 abr. 2018 a las 19:54, Manuel Mendoza (<
mmendoza en mncn.csic.es>)
Buenas tardes de sábado. LLevo más de una hora intentando una cosa que
debe ser una chorrada; a ver si alguien puede ayudarme.
Tengo una matriz (data) de 1000 muestras (filas) y 6 categorÃas
posibles. Hay 100 columnas, es decir, 100 votos para cada muestra, y
necesito crear un vector con la categorÃa más votada de las 6.
which.max(table(data[i,])) me da la más votada de la muestra i.
Estoy intentando crear el vector con un for y de momento no me sale.
¡ya! es muy fácil, pero no me sale, y estoy seguro de que hay una
forma mucho más fácil.
Gracias,
Manuel
--
Dr Manuel Mendoza
Department of Biogeography and Global Change
National Museum of Natural History (MNCN)
Spanish Scientific Council (CSIC)
C/ Serrano 115bis, 28006 MADRID
Spain