r reshape

r - shiny using html



Convertir datos de muchas filas en muchas columnas (3)

Esta pregunta ya tiene una respuesta aquí:

Tengo datos que salen de una base de datos de forma normalizada con un campo para año, estado y valor.

Me gustaría hacer un análisis de los datos y necesitarlos en un formato donde cada año sea un campo y no un registro. Así que me gustaría los datos donde cada registro es un estado y luego hay un campo para cada año y cada valor para esos campos. Son el valor para ese año y ese estado.

¿Hay un comando para hacer esto?

Así que tengo:

State Year Value KY 1998 56 KY 1997 78 IL 1998 48 IL 1997 72

y yo quiero:

State 1997_value 1998_value KY 78 56 IL 72 48


Desea utilizar la función reshape() .

reshape(data, idvar="State", timevar="Year", direction="wide")


Incluso puede combinar las líneas fundidas y fundidas en una llamada a la función de refundición.

ds <- data.frame(State = c("KY", "KY", "IL", "IL"), Year = c(1998, 1997, 1998, 1997), Value = c(56, 78, 48, 72)) library(reshape) recast(ds, State ~ Year, id.var = c("State", "Year"))


Otra opción es usar el paquete remodelado, creado por el inimitable Hadley Wickham:

library(reshape) tuna<-melt(data,id.vars=c("State","Year")) cast(tuna,State~Year~variable)