Tengo una lista en que me da la cantidad de veces que aparece 1, 2, 3 y/o 4. A veces en un integrante solo aparece el 0 y el 1, en otras solamente el 2, y todas las combinaciones que se les ocurran. Por ejemplo:> clase[1:2]$`9` 0 1 10 2 $`13` 0 2 4 2 ¿Puedo convertirlo en una una matriz formada por 4 columnas en las cuales me ponga la cantidad de veces que aparece los numeros anteriores, y para los casos en que no aparece alguno de esos valores ponga 0? Saludos, Sebastián. [[alternative HTML version deleted]]
Hola. Una posible forma de hacerlo: posibles.valores <- as.character(0:4) res <- do.call("rbind", lapply(clase, function(x) x[posibles.valores])) colnames(res) <- posibles.valores res <- replace(res, is.na(res), 0) Saludos. Javier Muñoz. El 26 de septiembre de 2013 19:59, Sebastian Kruk <residuo.solow@gmail.com>escribió:> Tengo una lista en que me da la cantidad de veces que aparece 1, 2, 3 y/o > 4. > > A veces en un integrante solo aparece el 0 y el 1, en otras solamente el 2, > y todas las combinaciones que se les ocurran. > > Por ejemplo: > > > clase[1:2] > $`9` > > 0 1 > 10 2 > > $`13` > > 0 2 > 4 2 > ¿Puedo convertirlo en una una matriz formada por 4 columnas en las cuales > me ponga la cantidad de veces que aparece los numeros anteriores, y para > los casos en que no aparece alguno de esos valores ponga 0? > > Saludos, > > Sebastián. > > [[alternative HTML version deleted]] > > > _______________________________________________ > R-help-es mailing list > R-help-es@r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es > >[[alternative HTML version deleted]]
Sebastian, Intenta lo siguiente: do.call(rbind, lapply(clase, function(x) table(factor(x, levels = 0:4))) Saludos, Jorge.- 2013/9/27 Sebastian Kruk <residuo.solow@gmail.com>> Tengo una lista en que me da la cantidad de veces que aparece 1, 2, 3 y/o > 4. > > A veces en un integrante solo aparece el 0 y el 1, en otras solamente el 2, > y todas las combinaciones que se les ocurran. > > Por ejemplo: > > > clase[1:2] > $`9` > > 0 1 > 10 2 > > $`13` > > 0 2 > 4 2 > ¿Puedo convertirlo en una una matriz formada por 4 columnas en las cuales > me ponga la cantidad de veces que aparece los numeros anteriores, y para > los casos en que no aparece alguno de esos valores ponga 0? > > Saludos, > > Sebastián. > > [[alternative HTML version deleted]] > > > _______________________________________________ > R-help-es mailing list > R-help-es@r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es > >[[alternative HTML version deleted]]