'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 |
