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
 
 Nube de datos
Nube de datos
No hay comentarios:
Publicar un comentario