我已阅读“使用dplyr编程”,并成功使用dplyr管道和裸变量名称编写了第一个函数。
为了便于阅读以及通过do()使用非dyplr函数,我在脚本的开头重命名了列,执行了计算,并返回了带有附加计算变量的数据框。尝试返回到原始变量名称时会出现问题。
require(dplyr)
require(rlang)
myfun <- function(df, var1) {
var1 <- enquo(var1)
# Rename column of interest
df <- df %>% rename(tempname = UQ(var1))
# Calculate mean of column of interest
df <- df %>% mutate(calc = tempname*2)
# Rename column of interest back to original name
df <- df %>% rename(UQ(var1) = tempname)
}
test <- myfun(mtcars, cyl)
这是引发的错误:
Error: unexpected '=' in:
" # Rename column of interest back to original name
df <- df %>% rename(UQ(var1) ="
> }
Error: unexpected '}' in "}"