Actualmente utilizo cast
en una tabla fundida para calcular el total de cada valor en la combinación de las variables ID1 (nombres de fila) e ID2 (encabezados de columna), junto con totales generales para cada fila usando margins="grand_col"
.Cálculo del porcentaje del total de la fila con plyr
c <- cast(m, ID1 ~ ID2, sum, margins="grand_col")
ID1 ID2a ID2b ID2c ID2d ID2e (all)
1 ID1a 6459695 885473 648019 453613 1777308 10224108
2 ID1b 7263529 1411355 587785 612730 2458672 12334071
3 ID1c 7740364 1253524 682977 886897 3559283 14123045
Hasta ahora, todo R-similares.
Luego divido cada celda por su fila total para obtener un porcentaje del total.
c[,2:6]<-c[,2:6]/c[,7]
Esto se ve kludgy. ¿Hay algo que debería hacer en cast
o quizás en plyr
para manejar el porcentaje de cálculo de margen en el primer comando?
Gracias, Matt
no tengo ningún grandes ideas aquí. ¡Espero que alguien más lo haga! – hadley