r - 在所需变量名称的列表/向量上应用分配函数
问题描述
假设我有一个包含变量名称的向量 v1,并且我想为每个变量分配一个值(存储在单独的向量中)。我怎么能在没有迭代的情况下做到这一点?
v1 <- c("a","b","c")
v2 <- c(1,2,3)
我想在没有循环的情况下实现:
for (i in 1:3){
assign(v1[i],v2[i])
}
我觉得我很接近,purrr:map2
但我尝试了不同的输入类、函数等,但无法将变量写入内存。
map2(v1,v2,function(x,y) assign(x,y))
解决方案
如果你真的想把它们放在全局环境中,你可以使用
list2env(setNames(as.list(v2), v1), envir = .GlobalEnv) # no need for assign()
但我建议将它们保存在一个列表中:
vars <- setNames(as.list(v2), v1)
推荐阅读
- postman - 在 Agora API 中调用 start POST 调用时出错
- java - 如何保证线程的执行顺序
- xmlhttprequest - 将 xmlhttprequest 发送到 javame securesocketserver
- php - 如何将 jquery 变量的值发送到数组中的 PHP 变量?
- mysql - 禁用 MySQL 将字符串转换为 0
- c++ - 为什么 freetype 不加载这些函数?
- javascript - 猪拉丁几乎完成
- android - 未能加载广告 3
- javascript - 如何用 frida 挂钩动态加载的 dex 和 libs?
- javascript - 如何在javascript中格式化函数