首页 > 解决方案 > 在R中的循环中使用字符串作为对象名称

问题描述

我想将多个对象循环保存在单独的文件中,但在正确处理时遇到了问题。下面是代码(我正在做的事情的高度简化示例)。我希望将对象 a2014 和 b2014 保存到 a2014.Rdata 和 b2014.Rdata。该代码显然不起作用,因为保存了对象参数名而不是对象 a2014 和 b2014。

for (i in c("a","b")) {
   data <- c(1,2)
   parametername <- paste0(i,"2014")
   assign(parametername, data)
   save(parametername, file = paste0(i, "2014.Rdata")) # This is clearly not working
}

任何帮助表示赞赏。

干杯

伦格

标签: r

解决方案


您可以将对象名称传递给list.

for (i in c("a","b")) {
  data <- c(1,2)
  parametername <- paste0(i,"2014")
  assign(parametername, data)
  save(list = parametername, file = paste0(i, "2014.Rdata")) 
}

推荐阅读