【发布时间】:2018-12-29 19:28:18
【问题描述】:
df1 <- df %>%
rename(newcol1 = oldcol1) %>%
rename(newcol2 = oldcol2) %>%
rename(newcol3 = oldcol3) %>%
rename(newcol4 = oldcol4) %>%
rename(newcol5 = oldcol5)
我正在尝试编写一个我刚刚学到的函数,它会做与上面相同的事情。
renaming = function(df, oldcol, newcol) {
rename(df, newcol = oldcol)
但是我不确定如何处理多列.. 任何帮助将不胜感激!
【问题讨论】:
-
df %>% purrr::set_names(~gsub('old', 'new', .x))或df %>% rename_all(~gsub('old', 'new', .x)) -
@alistaire 你会为多列写 c(oldcol1, oldcol2...etc) 吗?
-
不,上述方法将函数应用于数据框的名称。
set_names的通常用法是向其传递名称的字符向量,但在这种情况下可能会起作用。
标签: r function dplyr multiple-columns rename