我是唯一遇到 R 的 haven 包问题的人吗?

Am I the only one experiencing problems with R's haven package?

我想通过 haven::read_dta() 在 R 中打开一个 stata 文件。我在几周前创建了我的脚本,直到现在它都运行良好:突然,当我尝试加载数据时,我的会话崩溃了(“R Session Aborted”)。我的一个同事遇到了同样的问题。

我尝试了很多方法:通过 [=12= 选择正确的工作目录],通过 [=13= 选择文件],使用“/”、“//”和“\”输入文件路径但似乎没有任何效果。

到目前为止,他们的工作方式是:

install.packages("haven")
library(haven)

my_data <- read_dta("my_path_structure\file_name.dta")

有人遇到同样的问题吗?

编辑: 问题应该尽快解决。有关详细信息,请参阅 here

问题

14 日,Haven 更新为 2.4.0 where they internally upgraded to ReadStat 1.1.5.,它处理 .dta 文件的导入。 ReadStat 1.1.5 中似乎没有任何破译更新..

我能够在 R Studio 中重现您的中止错误,但未提供任何信息。我直接去了 R 控制台,它在 运行 相同的代码之后给了我以下分段错误:

*** caught segfault ***
address 0x0, cause 'invalid permissions'

鉴于这不是 Haven 之前版本的问题,我会向开发人员报告错误。

临时解决方案

我可以通过使用 readstata13 包来解决这个问题。这是一个例子,

install.packages("readstata13")
library(readstata13)
my_data <- read.dta13("my_path_structure/file_name.dta")

我遇到了同样的问题。我的解决方案是安装 Haven 2.3.1。

packageUrl <- "https://cran.r-project.org/src/contrib/Archive/haven/haven_2.3.1.tar.gz"

# only needed if haven is attached
detach("package:haven", unload = TRUE)

install.packages(packageUrl, repos=NULL, type="source")

截至 2021 年 7 月 27 日,此问题已在 Haven 开发版中修复。 运行 devtools::install_github("tidyverse/haven").