【问题标题】:Convert multiple .sav to .csv in R在R中将多个.sav转换为.csv
【发布时间】:2018-11-08 11:43:12
【问题描述】:

我想把一堆.sav转换成.csv

我有一个这样的文件列表:

c("Congo_MICS5_Datasets/Congo MICS 2014-15 SPSS Datasets/bh.sav", "Congo_MICS5_Datasets/Congo MICS 2014-15 SPSS Datasets/ch.sav", "Congo_MICS5_Datasets/Congo MICS 2014-15 SPSS Datasets/hh.sav")

如何转换它们并保留文件名?

【问题讨论】:

  • “保留文件名”?即bh.csvch.csvhh,.csv?
  • 是的,没错

标签: r csv spss


【解决方案1】:

假设您位于可以访问相对路径的工作目录中,并假设您使用的是 foreign 包并假设您不想要行名(由于问题很稀疏,因此有很多假设):

c(
  "Congo_MICS5_Datasets/Congo MICS 2014-15 SPSS Datasets/bh.sav", 
  "Congo_MICS5_Datasets/Congo MICS 2014-15 SPSS Datasets/ch.sav", 
  "Congo_MICS5_Datasets/Congo MICS 2014-15 SPSS Datasets/hh.sav"
) -> fils

for (fil in fils) {

  write.csv(
    x = foreign::read.spss(file = fil, to.data.frame = TRUE),
    file = sprintf("%s.csv", tools::file_path_sans_ext(fil)),
    row.names = FALSE
  )

}

【讨论】:

  • 可以,但是你错过了 for 循环位中的 s off
  • 无法运行代码 b/c 我很庆幸没有 SPSS 数据 :-) 如果您有编辑权限(不确定启动的点 val)请进行更改(我是没有看到s 丢失的位置),我可以批准编辑。
猜你喜欢
  • 2018-12-09
  • 2017-07-20
  • 2020-01-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-06-01
  • 2018-07-04
相关资源
最近更新 更多