- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在编写一个函数,其中我提供一个变量名作为符号。在函数的不同步骤中,我想将变量名称用作字符串。根据文档,rlang::as_string
“将符号转换为字符串。”
这是一个基本的例子。此函数返回带有标题为 mean
的列的 tibble。
find_mean <- function(varname){
tibble(mean = mean(pull(mtcars, {{varname}})))
> find_mean(qsec)
# A tibble: 1 × 1
mean
<dbl>
1 17.8
我想添加另一列,变量名作为字符串,如下所示:
# A tibble: 1 × 2
mean variable
<dbl> <chr>
1 17.8 qsec
我认为这会起作用。
find_mean <- function(varname){
tibble(mean = mean(pull(mtcars, {{varname}})),
variable = rlang::as_string({{varname}}))
}
但是它返回这个错误。
> find_mean(qsec)
Error in ~qsec : object 'qsec' not found
我知道我在 rlang
的非标准评估规则方面犯了一些基本错误,但谷歌搜索还没有帮助我解决这个问题。
最佳答案
我们可以使用 ensym
转换为 sym
bol 然后应用 as_string
find_mean <- function(varname){
v1 <- rlang::as_string(rlang::ensym(varname))
tibble(mean = mean(pull(mtcars, {{varname}})),
variable = v1)
}
-测试
find_mean(qsec)
# A tibble: 1 x 2
mean variable
<dbl> <chr>
1 17.8 qsec
这也可以在 base R
中完成,即使用 deparse/substitute
> find_mean <- function(varname) deparse(substitute(varname))
> find_mean(qsec)
[1] "qsec"
关于r - 如何在函数内部使用 rlang::as_string()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68614169/
我正在编写一个函数,其中我提供一个变量名作为符号。在函数的不同步骤中,我想将变量名称用作字符串。根据文档,rlang::as_string“将符号转换为字符串。” 这是一个基本的例子。此函数返回带有标
这个问题在这里已经有了答案: Why do I get "does not live long enough" in a return value? (2 个回答) Why can't I call
在 Google/Udemy Tensorflow tutorial有如下代码: import tensorflow as tf ... def read_data(filename): ""
我希望使用 Python 的 email 模块将 MIME 邮件消息部分的编码从 quoted-printable 或 base64 更改为 7 位 或8 位。一切似乎都很顺利,除了最后,对于某些消息
这个问题在这里已经有了答案: Why does Option.as_ref() not deref to Option? (1 个回答) 关闭 3 年前。 此代码中的第二个 map 语句编译失败。
出于某些奇怪的原因,我无法让 qi::as_string[] 与 repeat()[] 一起工作。 解析 std::string str = { "{ +100S+++ ;\n }"};,我得到以下
我正在尝试使用 ses 发送原始电子邮件并收到错误 result = conn.send_raw_email(msg.as_string(), AttributeError: 'NoneType' o
我是一名优秀的程序员,十分优秀!