2014-10-08 1 views
0

У меня есть dataframe Y, который выглядит примерно так:Использовать данные из DataFrame Y для переименования столбцов в кадре данных X с dplyr?

Y = data.frame(names=as.factor(c("name1", "name2")), other=c(1,2)) 

и dataframe X, который выглядит примерно так:

X = data.frame(col1=c(1,0,1,1),col2=c(0,0,0,1), col3=c(0,0,0,1)) 

Я хочу, чтобы переименовать столбцы X.

X = data.frame(name1=c(1,0,1,1),name2=c(0,0,0,1), col3=c(0,0,0,1)) 

Я пробовал следующее, но оно не работает

library(dplyr) 
X = X %>% rename(as.character(Y$names[[1]]) = col1) 

Спасибо за помощь!

+0

Из того, что я могу собрать, вы хотели бы переименовать столбцы на основе значений в колонке 1 Y. Может быть хорошей идеей, чтобы включить свой окончательный data.frame – ccapizzano

ответ

4

Попробуйте это:

colnames(X)<-Y$names 
+0

Что если X имеет много столбцов, и я хочу установить имена только для кубов n в m? Для моего примера, только для столбца 1. Я пробовал имена кодов (X [, 1]) <- Y $ names [1], но он не работает: _ ( – Ignacio

+1

Это трюк для моего измененного примера. Colnames (X) [ 1: 2] <- as.character (Y $ имена [1]) – Ignacio

Смежные вопросы