从github直接加载.RData

MYa*_*208 5 url load r github

我想PakPMICS2018bh.RDatahttps://github.com/myaseen208/PakPMIS2018Data/加载数据并使用以下代码引发错误:

library(RCurl)
PakPMICS2018bhURL <- "https://github.com/myaseen208/PakPMICS2018Data/raw/master/PakPMICS2018bh.RData"
load(url(PakPMICS2018bhURL))
Run Code Online (Sandbox Code Playgroud)

加载错误(url(PakPMIS2018bhURL)):输入不以与从连接加载兼容的幻数开头

我想知道我的代码有什么问题。任何帮助,请。

alk*_*989 3

问题不在你的代码中,它应该可以正常工作。例如,通常从 github 加载 Rdata 文件

load(url("https://github.com/mawp/spict/raw/master/spict/data/pol.rda"))
Run Code Online (Sandbox Code Playgroud)

您的问题来自于您尝试打​​开的文件,它们以 R 版本 3.5 中引入的序列化格式 3 保存,使用save(version = 3)

R 具有新的序列化格式(版本 3),支持 ALTREP 框架对象的自定义序列化。这些对象仍然可以以格式 2 进行序列化,但效率较低。序列化格式 3 还记录未标记字符串的当前本机编码,并在不同本机编码下运行的 R 中反序列化时对它们进行转换。格式 3 附带新的序列化幻数(RDA3、RDB3、RDX3)。格式 3 可以通过 save()、serialize() 和 saveRDS() 中的 version = 3 选择,但格式 2 仍然是工作区所有序列化和保存的默认值。3.5.0 之前的 R 版本无法读取格式 3 的序列化数据。

编辑

经过更多研究后,我认为这是一个错误(或功能?)。对于使用compression参数等于保存的文件FALSETRUE或者gz代码在 R 版本 >= 3.5 中按预期工作。但对于等于xz您的情况的压缩,它不起作用。

有两种选择:使用 gz 压缩保存文件,或使用 @user113156 的答案中的解决方法。