当变量名存储在向量中时,如何在R中使用save()函数?

当变量名存储在向量中时,如何在R中使用save()函数?,r,R,我有一个向量,叫做varNames,它把某些变量的“name”作为“character”。现在我想使用save()将这些特定变量保存为rdata。我该怎么做呢 我试图做到以下几点: > varSet [1] "blah1" [2] "blah2" > str(vatSet) chr [1:44] "blah1" "blah2" ... > foo <- lapply(varSet, function(x) as.name(x)) 我猜unlist(foo)不起

我有一个向量,叫做varNames,它把某些变量的“name”作为“character”。现在我想使用save()将这些特定变量保存为rdata。我该怎么做呢

我试图做到以下几点:

> varSet
  [1] "blah1"  [2] "blah2"
> str(vatSet)
  chr [1:44] "blah1" "blah2" ...
> foo <- lapply(varSet, function(x) as.name(x))
我猜unlist(foo)不起作用。我应该如何解决这个问题?你能不能也弄清楚我的概念,为什么unlist(foo)没有取消符号列表

编辑:添加人工示例

> x <- c(1,2,3)
> y <- data.frame(m=c(1,2), n=c(1,2,3))
但是假设我有

> varSet <- c("x", "y")

>varSet您可以将任何数据对象保存为:

save(varSet, file="varSet.RData")
但是你的询问听起来有点困惑。您是只想保存它,还是以特定的方式保存它,如data.frame

假设您的列表列表名为varSet:

您还可以使用plyr解决方案:

library (plyr)
  df <- ldply(varSet, data.frame)
库(plyr)

df save(varSet,filename=“something.rda”)将变量“varSet”的内容保存为rdata。然而,我的问题不同。我需要将名称存储为字符串的变量存储在varSet中。假设varSet[1]=“x”。现在,理想情况下eval(as.name(x))为我提供变量x的值(不要与字符“x”混淆)。希望我能澄清我的问题。您是否尝试过我提供的解决方案?为了更加自信,我会看到更多关于你的数据;给我们一个重复的例子。对不起。它不起作用。我在原始帖子中做了一些编辑,并附上了一个例子。请看。你的例子可能没那么有用。现在你给一个向量字符。因此,如果我理解的话,您不想保存整个包,而只是保存一些元素;我理解对了吗?是的。让我这样说吧。假设给你一份学生名单。。这就是你在这个阶段所拥有的一切。现在你去教室,给那些名字与你的名单相符的学生打电话。你把那些学生关进了“单一”监狱。我的问题是类似的。我的变量名是“string”。我想打电话给他们并把他们储存起来。
save(varSet, file="varSet.RData")
library (plyr)
  df <- ldply(varSet, data.frame)
df <- data.frame(matrix(unlist(varSet), nrow=100, byrow=T))
df <- data.frame(matrix(unlist(varSet), nrow=100, byrow=T),stringsAsFactors=FALSE)