1

我正在使用 Haven 包将 R 数据集写入 Stata 格式。

这是我得到的错误。

write_dta(road_panel, "road_panel.dta", version = 14, label = attr(data,"label"))

Error in write_dta_(data, normalizePath(path, mustWork = FALSE), version = stata_file_format(version), : Writing failure: A provided name contains an illegal character.

我也尝试了一个稍微不同的代码,但它是一样的。

`write_dta(road_panel, "road_panel_stata.dta")

Error in write_dta_(data, normalizePath(path, mustWork = FALSE), version = stata_file_format(version), : Writing failure: A provided name contains an illegal character.

如何成功将数据导出为 Stata 格式?

名称(road_panel)的输出:

[149] “road_comp_date_new_year_final” “road_comp_date_upg_year_final” “road_comp_date_stip_new_year_final” “road_comp_date_stip_upg_year_final” [153] “年”

4

2 回答 2

3

一个简单的解决方法是使用foreign::write.dta. 它将用x.yto替换所有变量名x_y

library(foreign)
write.dta(road_panel, "road_panel_stata.dta")
于 2020-06-23T00:00:36.300 回答
0

对于那些想要使用haven. 您可以简单地重命名变量以删除非法字符.

像这样的东西应该工作

names(road_panel) <- str_replace_all(names(road_panel), pattern = "\\.", replacement = "_"))) # to replace illegal character

write_dta(road_panel, "road_panel_stata.dta")# to save data
于 2021-01-20T17:04:42.183 回答