Предполагая, что вы хотите точно отобразить результат, основная проблема состоит в том, чтобы R не переименовал второй экземпляр имени столбца с ID
на ID.1
. Если мы конвертируем в список и обратно, тогда мы можем использовать check.names = FALSE
на as.data.frame
следующим образом:
as.data.frame(as.list(DF)[c(3, 1:3)], check.names = FALSE)
, давая:
ID Name Class ID
1 100 Terry C-02 100
2 101 Jane C-03 101
3 102 Tom C-04 102
Примечание
Lines <- "Name Class ID
Terry C-02 100
Jane C-03 101
Tom C-04 102"
DF <- read.table(text = Lines, header = TRUE, strip.white = TRUE)