У меня есть тиббл, в котором имена столбцов содержат пробелы и специальные символы, с которыми сложно работать. Я хочу изменить имена этих столбцов, чтобы их было легче использовать во время работы с данными, а затем вернуть им исходные имена в конце для отображения. В идеале я хочу иметь возможность сделать это как часть канала, однако я не понял, как это сделать с помощью rename_with()
.
Примеры данных:
df <- tibble(oldname1 = seq(1:10),
oldname2 = letters[seq(1:10)],
oldname3 = LETTERS[seq(1:10)])
cols_lookup <- tibble(old_names = c("oldname4", "oldname2", "oldname1"),
new_names = c("newname4", "newname2", "newname1"))
Желаемый результат:
> head(df_renamed)
# A tibble: 6 x 3
newname1 newname2 oldname3
<int> <chr> <chr>
1 1 a A
2 2 b B
3 3 c C
4 4 d D
5 5 e E
6 6 f F
Некоторые столбцы удаляются и переупорядочиваются во время этой работы, поэтому при их обратном преобразовании в таблице cols_lookup
будут записи, которых больше нет в df
. Есть также новые столбцы, созданные в df
, названия которых я хочу оставить прежним.
Я знаю, что есть похожие вопросы, которые уже задавались, однако ответы либо не работают с таблицами, либо в конвейере (например, те, которые используют match()
), или не работают, если не все столбцы представлены в одинаковом порядке в обеих таблицах.