2

我在一个学区工作,并计划制作独特的 PDF 报告,我将把这些报告发送到一个共享驱动器,其中包含我学区 40 多所学校中每所学校的一个文件夹。

我正在尝试在我的for循环中设置工作目录,以便每所学校都能获得为其学校量身定制的报告。学校文件是根据名为“school_name”的某个变量的级别命名的,现在我想根据我正在使用学校数据的事实写入这些文件夹[i]。

schools <- levels(as.factor(data$school_name))
for (i in 1:length(schools)) {
  setwd("W:\\Data Analysis Results\\"paste(schools[[i]]))
  ## some command to create a unique PDF report for school [[i]]
}
4

2 回答 2

5

这个小改动应该可以做到:

schools <- levels(as.factor(data$school_name))
for (i in 1:length(schools)) {
  setwd(file.path("W:/Data Analysis Results", schools[[i]]))
  # some command to create a unique PDF report for school [[i]]
}

file.path 函数是为这些任务而设计的。

于 2012-05-08T20:45:05.633 回答
1

你有paste错误的地方:

setwd(paste0("W:\\Data Analysis Results\\",schools[[i]]))

或者如果你有一个旧版本的 R 没有paste0

setwd(paste("W:\\Data Analysis Results\\",schools[[i]],sep=""))
于 2012-05-08T20:43:17.393 回答