【发布时间】:2015-10-09 00:09:30
【问题描述】:
我正在尝试编写一个函数,该函数将(部分)通过组合源数据框和现有变量名称来重命名变量。本质上,我想要:
df1 <- data.frame(a = 1, b = 2)
变成:
df1 %>%
rename(df1_a = a)
# df1_a b
#1 1 2
但我想以编程方式执行此操作,类似于:
fun <- function(df, var) {
outdf <- rename_(df, paste(df, var, sep = "_") = var)
return(outdf)
}
这种公认的幼稚方法显然行不通,但我一直无法弄清楚。我确信答案在 nse 小插图 (https://cran.r-project.org/web/packages/dplyr/vignettes/nse.html) 中的某处,但这似乎并没有解决构造变量名的问题。
【问题讨论】:
-
对于
df1,您只希望新名称为df_a而不是df1_a? -
抱歉,错字 - 应该是 df1_a
-
作为交叉参考,这建立在答案和讨论之上:stackoverflow.com/questions/26470465/…