如何循环超越Excel表和列表在Stata中?
我刚开始与Stata合作,我无法弄清以下几点。
-
我怎样才能循环的Excel表和索引列表。 这现在工作正常。
clear all set more off local mysheets 1996 2000 2003 2007 2008 2010 local indices index1 index2 index3 foreach sheetname of local mysheets { import excel "C:\stata\Data.xls", sheet(`sheetname') firstrow clear foreach index of local indices{ tobit theta index, ll(0) ul(1) outreg using "C:\stata\results.doc" , `append' local append "append" } }
只是作为一个答案张贴(所以这个问题不会出现未答复),因为它似乎是一个简单的编码错误:
- 确保本地macros名称始终一致(
mysheet
与mysheets
) - 在
foreach
循环内使用foreach
参数(在本例中为sheetname
)使用本地macros语法 -
如果使用本地macros来定义
outreg
的append
选项,outreg
在调用该选项之前对其进行定义clear all set more off local mysheets 1996 2000 2003 2007 2008 2010 local indices index1 index2 index3 foreach sheetname of local mysheets { import excel "C:\stata\Data.xls", sheet(`sheetname') firstrow clear foreach index of local indices { tobit theta `index', ll(0) ul(1) local append "append" outreg using "C:\stata\results.doc" , `append' } }