R更改存储字符串的数据集名称

时间:2013-05-15 08:34:10

标签: r

我正在使用循环创建大量数据集,我需要确保所有这些不同的数据集都已正确命名并存储在工作区中。我的问题如下。假设我有一个数据集(这里是空气质量),我想创建4个数据集并将它们存储在工作空间中

拆分数据集

airquality$N<-letters[airquality$Month]
head(airquality)
AllDatasets<-split(airquality,airquality$N)
names(AllDatasets)

现在我想用循环提取每个数据集,例如

#Conceptual loop
for (i in (1:names(AllDatasets))){
#Create  dataset  AllDatasets[i] and name it    names(AllDatasets)[i]
  }

这样在循环之后我可以分别处理每个数据集(e,f,g,h,i)(我不想对所有数据集应用相同的函数,我想独立地存储每个数据集)我的工作区)。我想问题不仅仅适用于循环,而是关于如何使用存储在字符串中的名称重命名数据集(而不是其列)。

1 个答案:

答案 0 :(得分:4)

您可以使用list2env()

list2env(AllDatasets, .GlobalEnv)

现在efghi在您的工作区中可用(在这种情况下,全局环境中,您可以指定不同的如果你喜欢,第二个参数中的环境)。


要从字符串中指定名称,您可以使用assign()。例如。回应Marco的评论如下:

D <- data.frame(rnorm(1:10), rnorm(1:2))
Name <- 'ThatOne'
assign(Name, D)

或直接使用字符串:

assign('ThatOne', D)