¿Cómo ampliar un marco de datos utilizando solo dos de sus variables en R?
Tengo un marco de datos con 5 columnas y quiero tomar ese marco de datos largo y convertirlo en un marco de datos amplio solo con las últimas dos variables. Me gustaría mantener las primeras 3 variables en formato largo.
Quiero pasar de algo como esto:
Var1 Var2 Var3 ID1 ID2
Seven April Hunger Very 3
Seven April Tired Very 3
Seven May Hunger Moderate 3
Eight May Hunger Very 1
Eight May Hunger Hardly 1
Eight May Tired Very 2
Y convertirlo en:
Var1 Var2 Var3 Very Moderate Hardly
Seven April Hunger 3 0 0
Seven April Tired 3 0 0
Seven May Hunger 1 3 1
Eight May Tired 2 0 0
¿Cómo puedo hacer eso?
davy.ai
Para lograr esto, podemos utilizar la función
reshape()
de R. Primero debemos especificar qué columnas se mantendrán en el formato largo y cuáles se utilizarán para crear el formato ancho. En nuestro caso, queremos mantener las columnasVar1
,Var2
yVar3
en el formato largo y crear un formato ancho utilizando las columnasID1
eID2
.Así es cómo podemos hacerlo:
El dataframe
df_ancho
resultante debería tener el formato deseado. Hemos utilizado la funciónmelt()
para convertir el formato largo ydcast()
para transformarlo en un formato ancho. El parámetroid.vars
especifica qué columnas deben permanecer en el formato largo ymeasure.vars
especifica qué columnas se utilizarán para crear el formato ancho. El parámetrovalue.var
especifica la columna donde se encuentran los valores para el formato ancho.Cabe destacar que esto asume que la librería
reshape2
ha sido instalada y cargada en tu entorno de R.