У меня есть data.frame df
со столбцами A
и B
:
df <- data.frame(A = 1:5, B = 11:15)
Есть еще один data.frame, df2
, который я строю с помощью различных вычислений, которыев итоге получаются общие имена столбцов X1 и X2, которые я не могу контролировать напрямую (потому что он проходит через матрицу в одной точке).В итоге получается что-то вроде:
mtrx <- matrix(1:10, ncol = 2)
mtrx %>% data.frame()
Я бы хотел переименовать столбцы в df2 так, чтобы они совпадали с df.Я мог бы, конечно, сделать это после того, как я закончу сборку df2 с простым присваиванием:
names(df2)<-names(df)
Мой вопрос - есть ли способ сделать это прямо в трубе?Я не могу использовать dplyr :: rename, потому что они должны быть в форме newname = oldname, и я не могу векторизовать это.То же самое относится и к самому вызову data.frame
- я не могу просто дать ему вектор имен столбцов, насколько я могу судить.Есть ли другой вариант, который я пропускаю?Я надеюсь на что-то вроде
mtrx %>% data.frame() %>% rename(names(df))
, но это не работает - выдает ошибку Error: All arguments must be named
.
Ура!