我正在编写一个循环,其中每次迭代的输出必须保存为.rda文件
假设我有一个名为'location.id'的10个位置的向量
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文件分配不同的名称。
答案 0 :(得分: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
,它允许您恢复到不同的变量名称。