【发布时间】:2019-11-06 01:10:28
【问题描述】:
我正在尝试将import美国数百个县xls文件一起在Stata中形成一个完整的数据集。问题是对于每个县,我都有几个不同年份的文件,所以我的文件名列表如下所示:
county1-year1970.xls
county1-year1975.xls
county2-year1960.xls
county2-year1990.xls
对于每个县,我只想要最近一年的文件(因县而异)。
到目前为止,我已经编写了代码来遍历每个可能的文件名,如果文件存在,则将年份存储在本地宏 maxyear:
local years = 0
forvalues i = 1/500 {
forvalues yr = 1900/2018 {
capture confirm file county`i'-year`yr'.xls
if _rc == 0 {
local years `years' `yr'
}
}
/* [code to extract the max value in `years'] */
import excel county`i'-year`maxyear'.xls, clear
}
循环似乎可以工作,但它仍然缺少从本地列表“年”中提取最大值的代码。我想使用该最大值来导入 Excel 工作表。
如何识别本地宏中的最大值,或者有没有更简单的方法来获得我想要的?
【问题讨论】:
标签: stata stata-macros