r - 从连接的字符串中调用变量
问题描述
我有三个变量,我想从包含通过连接字符串“变量”生成的变量名称的向量中调用它们。后缀为“ONE”、“TWO”和“THREE”,如下代码所示:
variable.ONE <- 1
variable.TWO <- 2
variable.THREE <- 3
j <- c("ONE","TWO","THREE")
variables <- paste0("variable.",j)
“变量”打印:
variables
[1] "variable.ONE" "variable.TWO" "variable.THREE"
我正在寻找一种方法来返回向量“变量”中包含的所有三个变量的值,因此:
[1] 1 2 3
但是,调用“变量”中包含的变量并不能按预期工作:
get(variables)
产生:
[1] 1
eval(noquote(variables)))
产生:
[1] variable.ONE variable.TWO variable.THREE
eval(as.name(variables)))
产生:
[1] 1
这些尝试只是众多尝试中的三个,但都没有让我得到理想且简单的输出:
[1] 1 2 3
因此,我将非常感谢您能提供的任何帮助!
提前致谢!
解决方案
您可以mget(variables)
用于字符向量,返回对象列表。
请注意,无法确保 的每个元素都variables
引用相同类型的原子对象(例如,如果variable.TWO <- "b"
?),因此预期结果应该是列表而不是向量。
您可以使用unlist(mget(variables))
.
推荐阅读
- unity3d - 相对于鼠标位置统一实例化一个立方体?
- python - Pandas Series.str.replace () 在我的情况下不起作用
- json - 在 SwiftUI 中显示 JSON 数据
- reactjs - 使用反应链接或重定向时出现问题
- python - 如何告诉 mypy 字典中特定项目的复杂类型?
- sql - 多字方法名称/类与单独的类
- java - 如何在不将其注册为 Windows 服务的情况下编写静默自启动、长时间运行、时间触发的 Java 桌面应用程序?
- java - AWS Elastic Beanstalk(单实例):如何为 Spring Boot 应用程序启用 HTTPS?
- swift - 使用所有 MongoDB Atlas Cluster Storage 的 Realm Sync 客户端历史记录
- wpf - 如何从工具提示 WPF 中获取投影?