【发布时间】:2021-06-01 22:10:28
【问题描述】:
我想读入 R 中的 .dta 文件,以便将其转换为 .csv 文件。首先,我尝试通过使用外部包这样做,但它报告:
read.dta(file) 中的错误:不是 Stata 版本 5-12 .dta 文件
所以我尝试通过使用 teh Have 包来做到这一点,但同样失败并报告:
df_parse_dta_file(spec, encoding, cols_skip, n_max, skip, name_repair = .name_repair) 中的错误:解析 C:/Users/folder/data.dta 失败:不支持此版本的文件格式
我也尝试使用 rio 包进行转换: install.packages("rio") 图书馆(里约) 安装格式() 转换("file.dta","file.csv")
但它报告了:
arg_reconcile(haven::read_dta, file = file, ..., .docall = TRUE, : 解析 C:/Users/folder/data.dta 失败:不支持此版本的文件格式。 此错误由:have::read_dta 生成 使用以下参数: “._costs.dta”
有谁知道如何在 R 中导入此类 .dta 文件以便转换 .csv 文件?
PS:.dta 文件的序言如下所示:
【问题讨论】:
-
是的,我试过了,但是没有用。我已编辑我的问题以包含出现的报告。
-
Stata .dta 文件总是以
<stata_dta><header><release>118</release><byteorder>LSF</byteorder>之类的前导码开头。告诉我们您看到类似的内容将确认它确实是一个 .dta 文件。告诉我们哪个版本产生了一个 .dta 文件,这将使问题更加准确。 -
我已在我的问题中添加了序言。它是这样的:
118 LSF M 2019 年 4 月 23 日 16:22 -
好消息:这就是您的想法。坏消息:这种格式太新了,以至于您尝试过的 R 例程都不是最新的。那么,它来自哪里,提供者不能提供旧版本的 dta 文件(使用
saveold)或 .csv(使用import delimited。
标签: r parsing stata r-haven dta