我是stata的新手,我需要将几个.dta文件添加到一个数据集中。
我有一个名为2015的文件夹,文件如下所示…
jan_2015.dta
feb_2015.dta
mar_2015.dta ..。依此类推,直到dec_2015。
我尝试了以下代码:
cd C:\Users\TOSHIBA\Desktop\Lender_List\Compiled\2015
local mylist jan_2015 feb_2015 mar_2015 apr_2015 may_2015 jun_2015 jul_2015 aug_2015 sep_2015 oct_2015 nov_2015 dec_2015
foreach filename of local mylist {
use `var'_2015
append using "jan_2015.dta"
}但stata的输出显示,file _2015.dta not found。
发布于 2016-09-09 13:27:39
不需要循环:append可以获取您可以通过fs获得的文件列表
ssc install fs
cd C:\Users\TOSHIBA\Desktop\Lender_List\Compiled\2015
clear
fs *_2015.dta
append using `r(files)'如果出于某些原因,您仍然渴望按名称循环文件:
cd C:\Users\TOSHIBA\Desktop\Lender_List\Compiled\2015
clear
foreach filename in `=lower("`c(Mons)'")' {
append using "`filename'_2015.dta"
}代码的主要问题是本地宏lname是filename,但是您取消了对名为var的内容的引用,而var的计算结果为空,因此Stata无法找到名为_2015.dta的文件并发出警告。第二个问题是,您的循环似乎试图打开每个月的文件,并将1月份的数据附加到其中。这听起来不像你所想的那样。
https://stackoverflow.com/questions/39403273
复制相似问题