使用字符向量引用和修改其他对象

时间:2019-03-12 12:29:42

标签: r

因此,我有大量要使用的非标准化矢量名称,所有这些名称都需要以相同的方式进行操作,而在寻找一种与它们一起使用的方式时遇到了问题。我想我能做的是将所有不同的对象组合成一个大的对象名称向量,并使用字符串作为指向实际变量的指针来迭代遍历结果列表。

这是我尝试使用的那种设置的粗略示例:

a <- c(1, 2)
b <- c(3, 4)
c <- c("a", "b")
...
z <- vector()

varlist <- ls(all = TRUE)

我希望能够使用varlist [i]依次引用每个变量,以对它们执行某种操作,然后将该操作的结果存储回同一对象中。

到目前为止,引用它们并不是问题,因为我可以使用eval(as.symbol(varlist[i]))在该列表中显示给定对象的内容。问题是,尝试使用相同的方法来存储新值(下面的示例)似乎不起作用。

as.symbol(varlist[i]) <- "New Value"
eval(as.symbol(varlist[i] <- "New Value"

在每种情况下,似乎<-与最外面的函数结合在一起形成一个不存在的函数。因此,在第一个答案的情况下,我们得到Error in as.symbol(varlist[i]) <- "New Value" : could not find function "as.symbol<-",在第二个答案中,我们得到could not find function "eval<-"

如何在列出的变量中存储新数据,并且(因为我对此还很陌生)是否有更好的方法来进行这些类型的海量计算?

0 个答案:

没有答案