如何循环超越Excel表和列表在Stata中?

我刚开始与Stata合作,我无法弄清以下几点。

  1. 我怎样才能循环的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名称始终一致( mysheetmysheets
  • foreach循环内使用foreach参数(在本例中为sheetname )使用本地macros语法
  • 如果使用本地macros来定义outregappend选项, 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' } }