use first row data as column names in r
Solution 1:
Sam Firke's ever useful package janitor
has a function especially for this: row_to_names
.
Example from his documentation:
library(janitor)
x <- data.frame(X_1 = c(NA, "Title", 1:3),
X_2 = c(NA, "Title2", 4:6))
x %>%
row_to_names(row_number = 2)
Solution 2:
header.true <- function(df) {
names(df) <- as.character(unlist(df[1,]))
df[-1,]
}
Test
df1 <- data.frame(c("a", 1,2,3), c("b", 4,5,6))
header.true(df1)
a b
2 1 4
3 2 5
4 3 6