gpt4 book ai didi

r - 用stata打开用R的 `saveRDS`(序列化接口(interface))保存的文件

转载 作者:行者123 更新时间:2023-12-02 08:43:00 29 4
gpt4 key购买 nike

通常我更喜欢使用 saveRDS 保存我的 R 对象这样我以后可以使用 df= readRDS(...) 将它们重新分配给特定变量.有时我想在 stata 中做一些事情。那么有没有办法打开用saveRDS保存的文件呢?在统计中?

最佳答案

必须从 Stata 读取以 R 的二进制格式存储的变量表明您的数据管理策略不可靠。如果你想读取多种格式的数据,那么你应该使用非平台特定的格式。这通常意味着基于文本的格式(CSV 或制表符分隔或 XMLJSON),或数据库,或记录良好的标准化二进制格式(HDF5)。

要解决您的问题,您需要一个 resave 函数来读取 RDS 文件并以新格式输出它。有点像

resave <- function(infile)
{
x <- readRDS(infile)
outfile <- sub("\\.rds$", "\\.csv", infile)
write.csv(x, outfile)
}

另一种可能的策略是根据需要使用 foreign::write.dta 转换文件。这在 StatLore blog 上有描述。 .如果您只是偶尔使用 Stata,这可能是更好的策略。

想法是,你有一个 R 代码的批处理文件,可以重新保存该文件,然后你使用 Stata 的 shell 命令以批处理模式调用 R。

shell "<path to R>\R.exe" CMD BATCH resaveAsDta.R

然后您可以像往常一样使用 DTA 文件。

关于r - 用stata打开用R的 `saveRDS`(序列化接口(interface))保存的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14923581/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com