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
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>) escribió:> > 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 > > _______________________________________________ > R-help-es mailing list > R-help-es en r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es >[[alternative HTML version deleted]]
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>) > escribió: > >> >> 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 >> >> _______________________________________________ >> R-help-es mailing list >> R-help-es en r-project.org >> https://stat.ethz.ch/mailman/listinfo/r-help-es >>-- 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