我有一个数据框,我试图将其保存为 stata .dta 文件。我尝试了避风港和外国包,但我得到了以下错误:
write_dta(df,"C:/Users/../df.dta")
我收到一个错误:
Error in write_dta_(data, normalizePath(path, mustWork = FALSE), version = stata_file_format(version), : Variables of type list not supported yet
和国外的包一样:
write.dta(df,"C:/Users/../df.dta")
或者
write.dta(data = df,file = "C:/Users/../df.dta")
错误:
Error in write.dta(df, "C:/users/../df.dta") :
unknown data type
但是当我检查 df 是否确实是一个数据框时,我得到了 TRUE:
is.data.frame(df)
[1] TRUE
我想过使用 writexl 库并将其保存为 xlsx,然后将其导入 Stata:
write_xlsx(df,"C:/Users/../df.xlsx")
但在生成的 excel 文件中,所有计数列(请参见附图)都是空的。所以在 xlsx 文件中只填写了第 1 到第 4 列。所以我想知道我的计数列是否有问题。
由于我无法以简单的方式复制我的数据,我附上了一张图片:
根据@user20650 的建议,我运行了以下代码:
dput(tc[1:5, 3:6])
结果如下:
structure(list(filing_type = c("10-K", "10-K", "10-K", "10-K",
"10-K/A"), year = c("2014", "2013", "2012", "2011", "2010"),
Alabama_count = list(mktg_10k14.htm = 0L, mktg_10k.htm = 0L,
mktg_10k.htm = 0L, mktg_10k.htm = 0L, mktg_10ka.htm = 0L),
Alaska_count = list(mktg_10k14.htm = 0L, mktg_10k.htm = 0L,
mktg_10k.htm = 0L, mktg_10k.htm = 0L, mktg_10ka.htm = 0L)), row.names = c(NA,
5L), class = "data.frame")
正如@Andrew 建议的那样,我的计数列都是列表而不是数据框。