0

我正在编写一个循环,其中每次迭代的输出都必须保存为 .rda 文件

假设我有一个包含 10 个位置的向量,称为“location.id”

dat <- data.frame(location.id = rep(c(00,11,22,33,44,55,66,77,88,99), each = 10), x = runif(10*10))

location.id <- c(00,11,22,33,44,55,66,77,88,99)

我的循环是:

for(m in unique(location.id)){

   DT.grid <- dat[dat$location.id == m,]
   save(DT.grid, file = paste0("temp_",m,".rda"))
}

但是,当我加载 .rda 文件时

 load(file = "temp_00.rda")
 load(file = "temp_11.rda")
 load(file = "temp_22.rda")
 load(file = "temp_33.rda")

所有文件都加载为DT.grid. 我理解为什么会发生这种情况,但我不知道如何为循环中的每个 .rda 文件分配不同的名称。

4

1 回答 1

1

格式锁定变量名称,因此您需要在保存之前将它们设置为不同的rda名称,因为您将它们全部保存为DT.grid. 就像是...

for(m in unique(location.id)){
   varname <- paste0("DT.grid_", m)
   assign(varname, dat[dat$location.id == m,])
   save(varname, file = paste0("temp_",m,".rda"))
}

另一种方法可能是使用saveRDS,它允许您恢复到不同的变量名。

于 2018-03-31T22:31:23.637 回答