'How to use an exsisting column as sample ID

I imported an excel file with animal data that looks something like this:

AnimalID Sex Body Weight District
AB1 1 3.45 4
AB2 1 2.98 4
AB3 2 3.22 5
AB4 2 3.01 5

I want to use to use my first column(AnimaID) as rownames.

I've searched for an answer but most questions address the creation of a new column that then becomes the rownames column. I actually feel stupid coming on here and asking this. My aim is to create a pca plot using ggplot2, and that requires me to have the dataframe in the format that ggplots2 recognizes.



Solution 1:[1]

A possible solution, in base R:

rownames(df) <- df$AnimalID
df <- df[,-1]
df

#>     Sex Body.Weight District
#> AB1   1        3.45        4
#> AB2   1        2.98        4
#> AB3   2        3.22        5
#> AB4   2        3.01        5

Or using tidyverse:

library(tidyverse)

df %>% column_to_rownames("AnimalID")

#>     Sex Body.Weight District
#> AB1   1        3.45        4
#> AB2   1        2.98        4
#> AB3   2        3.22        5
#> AB4   2        3.01        5

Solution 2:[2]

Another base option:

row.names(df) <- df$AnimalID
df[1] <- NULL

Output:

    Sex Body_Weight District
AB1   1        3.45        4
AB2   1        2.98        4
AB3   2        3.22        5
AB4   2        3.01        6

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1
Solution 2 Quinten