循环数据帧变量名的R

循环数据帧变量名的R,r,loops,naming,R,Loops,Naming,我不熟悉R和循环。我有一个数据帧(xyz)。我正在运行一个循环,希望以不同的名称保存一个新的数据帧 states <- c("AL", "AK") keywords <- c("snow", "rain") filepath <- file.path("C:/data/") for(state_var in states) for(key_var in keywords) { save(xyz, file = (file.path(filepath, paste0(s

我不熟悉R和循环。我有一个数据帧(
xyz
)。我正在运行一个循环,希望以不同的名称保存一个新的数据帧

states <- c("AL",   "AK")
keywords <- c("snow", "rain")
filepath <- file.path("C:/data/")

for(state_var in states) 
for(key_var in keywords) 
{
save(xyz, file = (file.path(filepath, paste0(state_var, sep = "_", key_var,".RData"))))
}
状态尝试以下操作:

states <- c("AL",   "AK")
keywords <- c("snow", "rain")

for(state_var in states) 
  for(key_var in keywords) 
  {
    objname <- paste(state_var, key_var, sep="_")
    assign(objname, xyz)
    save(list = objname, file = (file.path(filepath, paste0(state_var, sep = "_", key_var,".RData"))))
    rm(objname) # make sure you get rid of this again
  }
状态尝试以下操作:

states <- c("AL",   "AK")
keywords <- c("snow", "rain")

for(state_var in states) 
  for(key_var in keywords) 
  {
    objname <- paste(state_var, key_var, sep="_")
    assign(objname, xyz)
    save(list = objname, file = (file.path(filepath, paste0(state_var, sep = "_", key_var,".RData"))))
    rm(objname) # make sure you get rid of this again
  }

声明谢谢大家。我能解决这个问题。这表明
assign
在函数内部不起作用。我们必须使用
列表
。 以下是解决方案:

states <- c("AL",   "AK")
keywords <- c("snow", "rain")
filepath <- file.path("C:/data/")

for(state_var in states) 
for(key_var in keywords) 
{
assign(paste(state_var, key_var, sep="_"), xyz)
save(list = paste(state_var, key_var, sep="_"), file = (file.path(filepath, paste0(state_var, sep = "_", key_var,".RData"))))
}

声明谢谢大家。我能解决这个问题。这表明
assign
在函数内部不起作用。我们必须使用
列表
。 以下是解决方案:

states <- c("AL",   "AK")
keywords <- c("snow", "rain")
filepath <- file.path("C:/data/")

for(state_var in states) 
for(key_var in keywords) 
{
assign(paste(state_var, key_var, sep="_"), xyz)
save(list = paste(state_var, key_var, sep="_"), file = (file.path(filepath, paste0(state_var, sep = "_", key_var,".RData"))))
}

说明如何加载已保存的数据帧?我刚才使用的是
加载(file.path(filepath,“AL_snow.RData”)
如何加载已保存的数据帧?我刚才使用的是
加载(file.path(filepath,“AL_snow.RData”)
您好@Jan我收到以下错误:object'assign(“objname”,xyz)'找不到您是对的。哇!极有吸引力的该对象存在,但不知何故save无法使用它。我修好了。这次一直测试到最后。嗨@Jan,我得到了以下错误:object'assign(“objname”,xyz)'notfound你是对的。哇!极有吸引力的该对象存在,但不知何故save无法使用它。我修好了。这次测试到最后。