【发布时间】:2017-01-18 12:51:55
【问题描述】:
我必须以 Stata 的 .dta 格式保存一个 R 数据集。 除其他数据外,该数据集还包含一个包含长字符串的单列(第 3 列)。
测试数据:
r_data <- data.frame( ae= 1, be= 2, ce= "Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet"
,stringsAsFactors = FALSE )
导出到数据
library(foreign)
write.dta(r_data, file = "r_data.dta")
导致此警告消息: 警告信息:
In write.dta(r_data, file = "r_data.dta") :
character strings of >244 bytes in column 3 will be truncated
此外,由于错误说明,我根本无法在 Stata (14 SE) 中打开文件:
. use "r_data.dta"
file not Stata format
.dta file contains 1 invalid storage-type code.
File uses invalid codes other than code 0.
r(610);
如何将较长的字符串保存为 .dta 文件? 首选 R 解决方案,因为我没有使用 Stata 的经验。
PS:通过 CSV 文件的间接路由不起作用,因为在 Stata 中导入时,生成的 CSV 文件对于我的小 RAM 来说太大了。
【问题讨论】:
-
您想使用
readstata13包,它允许您编写stata 14 文件。不过我还没有调查过长字符串问题。 -
完美提示。 library(readstata13) save.dta13(r_data,file ="r_data.dta") 解决了这个问题。我会接受它作为答案!