Problema
Queremos transponer un data frame.
df <-
structure(
list(
Country.Name = c("Country1", "Country2", "Country3"),
`1997` = c(1L, 2L, 4L),
`1998` = c(1L, 4L, 2L),
`1999` = c(1L, 7L, 1L),
`2000` = c(1L, 10L, 5L)
),
.Names = c("Country.Name",
"1997", "1998", "1999", "2000"),
class = "data.frame",
row.names = c(NA,-3L)
)
Country.Name 1997 1998 1999 2000
1 Country1 1 1 1 1
2 Country2 2 4 7 10
3 Country3 4 2 1 5
Solución
Empleamos la función t que transpone una matriz o data frame.
# Transpone todas las columnas menos la primer
df_transpose <- data.frame(t(df[-1]))
# Añadimos los nombres de las columnas
colnames(df_transpose) <- df[, 1]
df_transpose
Country1 Country2 Country3
1997 1 2 4
1998 1 4 2
1999 1 7 1
2000 1 10 5
Entradas relacionadas
Referenciass
No hay comentarios:
Publicar un comentario