首页 > 解决方案 > 从字符串赋值给变量

问题描述

我想从字符串动态创建一个变量名,然后分配一个值。我相信我应该能够轻松地做到这一点,{rlang}但无法从包文档、高级 R和搜索中解决。下面是我正在寻找的伪代表。感谢您的指导!

我想要的输出:answer <- 42

我的输入:(x <- "answer"除了“答案”是生成的并且没有在脚本中硬编码)

试图:rlang::sym(x) <- 42

标签: rrlangtidyevalquasiquotes

解决方案


answer <- 42你想要的输出,还是你想要的效果

如果它是所需的输出,则将answer符号注入到 defused 表达式中expr()

expr(!!sym(x) <- 42)
#> answer <- 42

answer
#> Error: object 'answer' not found

如果您需要评估此表达式,请使用inject()

inject(!!sym(x) <- 42)

answer
#> [1] 42

推荐阅读