通常我更喜欢使用 保存我的 R 对象,saveRDS
以便以后可以使用df= readRDS(...)
. 有时我想在 stata 中做点什么。那么有没有办法打开saveRDS
在stata中保存的文件?
问问题
3300 次
1 回答
6
必须从 Stata 读取以 R 的二进制格式存储的变量,这表明您的数据管理策略不可靠。如果要读取多种格式的数据,则应使用非平台特定格式。这通常意味着基于文本的格式(CSV或制表符分隔或XML或JSON),或数据库,或记录良好的标准化二进制格式(HDF5)。
要解决您的情况,您需要一个resave
读取 RDS 文件并以新格式输出的函数。就像是
resave <- function(infile)
{
x <- readRDS(infile)
outfile <- sub("\\.rds$", "\\.csv", infile)
write.csv(x, outfile)
}
另一种可能的策略是根据需要转换文件foreign::write.dta
。这在StatLore 博客上有所描述。如果您只是偶尔使用 Stata,这可能是一个更好的策略。
这个想法是你有一个重新保存文件的 R 代码批处理文件,然后你使用 Stata 的shell
命令以批处理模式调用 R。
shell "<path to R>\R.exe" CMD BATCH resaveAsDta.R
然后你可以use
正常的 DTA 文件。
于 2013-02-17T19:29:01.953 回答