Сначала предупреждение, если имена столбцов имеют числовой формат c (например, 1
) или являются зарезервированными ключевыми словами R (например, NA
), могут привести к всевозможным ошибкам. Но если вы должны это сделать, я предлагаю следующее:
library(dplyr)
# extract title row
headers <- df %>%
head(1) %>%
select(state1, state2, state3) %>%
unlist(use.names = FALSE) %>%
as.character()
# replace NA with "NA"
headers[is.na(headers)] = "NA"
# drop columns that are not wanted
new_df <- df %>%
select(-state1, -state2, -state3)
# replace column names
colnames(new_df) <- headers
Чтобы ссылаться на ваши новые столбцы, вам, вероятно, потребуется использовать обратные кавычки: `
Итак, с вашим новым имена столбцов 0
, F
и NA
вы можете звонить df$F
, но не можете звонить df$NA
или df$1
. Вместо этого вам нужно будет набрать df$`1`
и df$`NA`
.