2020-10-20

Cómo usar la primera fila como nombre de las columnas en R

Title

Problema

Queremos usar la primera fila como nombre de las columnas en R. En nuestro ejemplo, queremos reemplzar los nombres originales de la columna (V1, V2, etc) por los de la primera fila (col1, col2, etc).

    V1   V2   V3   V4   V5
1 col1 col2 col3 col4 col5
2 row1    2    4    5   56
3 row2   74   74    3  534
4 row3  865  768    8    7
5 row4   68   86   65   87
df <- read.table(text =  "V1    V2  V3  V4  V5
                        col1    col2    col3    col4 col5
                        row1    2   4   5   56
                        row2    74  74  3   534
                        row3    865 768 8   7
                        row4    68  86  65  87", header = TRUE )

Solución

  • Opción 1
  • colnames(df) <- df[1,]
    df <- df[-1, ] 
    

  • Opción 2
  • names(df) <- lapply(df[1, ], as.character)
    df <- df[-1,] 
    

    Resultado

      col1 col2 col3 col4 col5
    2 row1    2    4    5   56
    3 row2   74   74    3  534
    4 row3  865  768    8    7
    5 row4   68   86   65   87
    
    Si queremos reiniciar los nombres de fila:

    rownames(df) <- NULL
    
      col1 col2 col3 col4 col5
    1 row1    2    4    5   56
    2 row2   74   74    3  534
    3 row3  865  768    8    7
    4 row4   68   86   65   87
    

    References

    No hay comentarios:

    Publicar un comentario

    Nube de datos