从字符串赋值给变量
Posted
技术标签:
【中文标题】从字符串赋值给变量【英文标题】:Assign into variable from string 【发布时间】:2021-10-29 04:43:29 【问题描述】:我想从一个字符串动态创建一个变量名,然后分配一个值。我相信我应该可以使用rlang
轻松完成此操作,但无法从包文档、Advanced R 和搜索中解决。下面是我正在寻找的伪代表。感谢您的指导!
我想要的输出:answer <- 42
我的输入:x <- "answer"
(除了“答案”是生成的并且没有在脚本中硬编码)
尝试:rlang::sym(x) <- 42
【问题讨论】:
assign(x, 42)
?如果你需要这个,你的整个方法都是不好的做法,应该改变。
我认为这是相关的重复***.com/questions/6034655/…
【参考方案1】:
answer <- 42
是你想要的输出,还是你想要的效果?
如果它是所需的输出,则将 answer
符号注入到带有 expr()
的分解表达式中
expr(!!sym(x) <- 42)
#> answer <- 42
answer
#> Error: object 'answer' not found
如果您需要评估此表达式,请使用inject()
:
inject(!!sym(x) <- 42)
answer
#> [1] 42
【讨论】:
以上是关于从字符串赋值给变量的主要内容,如果未能解决你的问题,请参考以下文章