使用dplyr进行编程-使用!! / UQ()临时重命名列

时间:2019-03-07 14:02:07

标签: r dplyr

我已阅读“使用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 "}"

0 个答案:

没有答案