我想以编程方式rename()在我的一些变量中data,所以我可以map在某个时候通过它。
我正在寻找相当于,
library(tidyverse)
mtcars %>% rename(
"MPG" = "mpg"
)
Run Code Online (Sandbox Code Playgroud)
而是使用environment变量。我尝试!!sym()执行以下操作,
library(tidyverse)
new_name <- "MPG"
old_name <- "mpg"
mtcars %>% rename(
!!sym(new_name) = !!sym(old_name)
)
Run Code Online (Sandbox Code Playgroud)
但是,我收到错误Error: unexpected ')' in ")"。我不确定我在这里错过了什么!
我有一个data.frame不同的变量,需要summarised使用不同的度量。
我正在寻找一个易于阅读的等价物,
baseline_table <- function(data,var) {
data %>%
group_by(Species) %>%
summarise(
!!sym(paste(var, "_mean", sep = "")) := !!sym(var) %>% mean(na.rm = TRUE),
!!sym(paste(var, "_sd", sep = "")) := !!sym(var) %>% sd(na.rm = TRUE)
)
}
iris %>%
baseline_table(var = "Sepal.Length")
Run Code Online (Sandbox Code Playgroud)