如何批量处理将所有.sav转换为R中文件夹中的平面文件?

时间:2018-02-08 19:56:20

标签: r spss

下面是将.sav转换为平面文件格式的代码,该格式运行良好,当我有超过50个文件时,我的问题就出现了。关于如何处理循环中文件夹中所有可用文件的任何建议?

  #load library foreign to read spss 
  library(foreign) 

  #set working directory first 
  setwd("M:\\Files\\Linear Reg") 

  #read .sav file 
  data <-read.spss('Computed_Copy.sav', to.data.frame=TRUE,use.value.labels=FALSE) 
  write.csv(data, "Computed_Copy.csv")

1 个答案:

答案 0 :(得分:2)

首先列出文件夹中所有以.sav

结尾的文件
files <- list.files(path = 'your/path/tofolder', pattern = '.sav')
for(f in files){ # iterate over them 
  data <-read.spss(f, to.data.frame=TRUE,use.value.labels=FALSE) 
  write.csv(data, paste0(strsplit(f, split = '.', fixed =  T)[[1]][1], '.csv')) 
# the stringsplit removes the wrong ending and the paste adds .csv
}