使用合并命令时文件“(...).csv”不是 Stata 文件错误
file "(...).csv" not Stata file error in using merge command
我用的是 Stata 12。
我想将文件 df_all_cities.csv
中的一些国家代码标识符添加到我的工作数据中。
然而,这行代码:
merge 1:1 city country using "df_all_cities.csv", nogen keep(1 3)
给我错误:
. run "/var/folders/jg/k6r503pd64bf15kcf394w5mr0000gn/T//SD44694.000000"
file df_all_cities.csv not Stata format
r(610);
这是对我之前的问题的尝试解决方案,该文件是一个 dta 文件,不能在这个版本的 Stata 上运行,所以我使用 R 将它转换为 .csv,但这也不起作用。我认为这是因为命令本身“使用”不适用于 csv 文件,但我该如何编写呢?
你的直觉是对的。命令 merge
无法直接读取 .csv
文件。 (从技术上讲,using
在这里不是命令,它是一个常见的语法标记,表示后面跟着一个文件路径。)
您需要使用命令insheet
读取.csv
文件。你可以这样使用它。
* Preserve saves a snapshot of your data which is brought back at "restore"
preserve
* Read the csv file. clear can safely be used as data is preserved
insheet using "df_all_cities.csv", clear
* Create a tempfile where the data can be saved in .dta format
tempfile country_codes
save `country_codes'
* Bring back into working memory the snapshot saved at "preserve"
restore
* Merge your country codes from the tempfile to the data now back in working memory
merge 1:1 city country using `country_codes', nogen keep(1 3)
查看 insheet
如何也在使用 using
并且此命令接受 .csv
个文件。
我用的是 Stata 12。
我想将文件 df_all_cities.csv
中的一些国家代码标识符添加到我的工作数据中。
然而,这行代码:
merge 1:1 city country using "df_all_cities.csv", nogen keep(1 3)
给我错误:
. run "/var/folders/jg/k6r503pd64bf15kcf394w5mr0000gn/T//SD44694.000000"
file df_all_cities.csv not Stata format
r(610);
这是对我之前的问题的尝试解决方案,该文件是一个 dta 文件,不能在这个版本的 Stata 上运行,所以我使用 R 将它转换为 .csv,但这也不起作用。我认为这是因为命令本身“使用”不适用于 csv 文件,但我该如何编写呢?
你的直觉是对的。命令 merge
无法直接读取 .csv
文件。 (从技术上讲,using
在这里不是命令,它是一个常见的语法标记,表示后面跟着一个文件路径。)
您需要使用命令insheet
读取.csv
文件。你可以这样使用它。
* Preserve saves a snapshot of your data which is brought back at "restore"
preserve
* Read the csv file. clear can safely be used as data is preserved
insheet using "df_all_cities.csv", clear
* Create a tempfile where the data can be saved in .dta format
tempfile country_codes
save `country_codes'
* Bring back into working memory the snapshot saved at "preserve"
restore
* Merge your country codes from the tempfile to the data now back in working memory
merge 1:1 city country using `country_codes', nogen keep(1 3)
查看 insheet
如何也在使用 using
并且此命令接受 .csv
个文件。