dataset %>% rename(!!vars) 在 R 中是什么意思?
What does dataset %>% rename(!!vars) mean in R?
我是R新手,所以在看一些R代码的时候,看不懂符号是什么意思,比如代码dataset %>% rename(!!vars)
中的!!
。
有人可以帮我吗?谢谢
来自 rlang
包的 bang bang 运算符 !!
强制对对象进行早期评估。在 tidyverse
系列包中,它用于在代码管道中启用变量替换。
aVariable <- sym("mpg")
library(dplyr)
mtcars %>% group_by(am) %>%
summarise(mean = mean(!!aVariable))
...输出:
# A tibble: 2 x 2
am mean
* <dbl> <dbl>
1 0 17.1
2 1 24.4
>
有关强制函数的更多详细信息,请阅读 rlang nse-force。
Stataq,
对于一个新手来说,您已经误入歧途了。 !!
是非标准评估 (NSE) 的一部分。这是一个高级主题,在 Hadley Wickham 的 Advanced R 的 MetaProgramming 部分中有介绍:https://adv-r.hadley.nz/metaprogramming.html
除非您通过其他计算机语言熟悉 NSE,否则您会发现它是一条陡峭的学习曲线。有没有你现在不明白就不能解决的问题 !!
?
我是R新手,所以在看一些R代码的时候,看不懂符号是什么意思,比如代码dataset %>% rename(!!vars)
中的!!
。
有人可以帮我吗?谢谢
来自 rlang
包的 bang bang 运算符 !!
强制对对象进行早期评估。在 tidyverse
系列包中,它用于在代码管道中启用变量替换。
aVariable <- sym("mpg")
library(dplyr)
mtcars %>% group_by(am) %>%
summarise(mean = mean(!!aVariable))
...输出:
# A tibble: 2 x 2
am mean
* <dbl> <dbl>
1 0 17.1
2 1 24.4
>
有关强制函数的更多详细信息,请阅读 rlang nse-force。
Stataq,
对于一个新手来说,您已经误入歧途了。 !!
是非标准评估 (NSE) 的一部分。这是一个高级主题,在 Hadley Wickham 的 Advanced R 的 MetaProgramming 部分中有介绍:https://adv-r.hadley.nz/metaprogramming.html
除非您通过其他计算机语言熟悉 NSE,否则您会发现它是一条陡峭的学习曲线。有没有你现在不明白就不能解决的问题 !!
?