Вставьте имена в столбцы в R

Довольно глупый вопрос, но я не нашел хорошего решения. Скажем, у меня есть такой кадр данных:

dframe <- cbind.data.frame(V1=rnorm(10,0,1), V2=rnorm(10,0,1))
dframe

С помощью следующего кода я могу вставить новые слова в имена столбцов:

names(dframe) <- paste("r_", names(dframe), sep="")

Но что, если я хочу изменить имена только для одного конкретного столбца? Почему следующий код не работает? (на самом деле правая часть кода работает, но новые имена не назначаются)

names(dframe[1]) <- paste("r_", names(dframe[1]), sep="")

В моих реальных данных у меня есть куча столбцов, и мне нужно выполнить эту операцию для некоторых из них - все еще слишком много, чтобы менять имена по одному.


person Filippo Marolla    schedule 06.11.2018    source источник
comment
Вам нужно names(dframe)[1] вместо names(dframe[1])   -  person akrun    schedule 06.11.2018
comment
Это было действительно глупо. Спасибо.   -  person Filippo Marolla    schedule 06.11.2018


Ответы (1)


Следующие работы:

dframe <- data.frame(V1 = rnorm(10, 0, 1), V2 = rnorm(10, 0, 1))
names(dframe)[1] <- paste("r_", names(dframe[1]), sep = "")
head(dframe, 2)
        r_V1          V2
1 -0.5518091 -0.05065393
2  1.5083914  1.24679703

(Вы можете использовать data.frame() вместо cbind.data.frame().)

person Florian    schedule 06.11.2018