我有这个问题。我的数据集有如下变量:
sec20_var1 sec22_var1 sec30_var1 sec20_var2 sec22_var2 sec30_var2 sec31_var2
(~102 个扇区,~60 个变量,并非所有组合都是完整的甚至存在)
我的目的是建立一个指标,对部门内的变量进行平均。因此,它是一个“聚合扇区”,包含属于高中低技术时尚类别的扇区。我已经定义了每个类别中应包括哪些部门。比方说,在高科技领域,我应该放置 sec20 和 sec31。
问题:属于一个类的扇区列表和每个变量可用的实际扇区不匹配。所以我被这个问题困扰并开始手动进行。我最好的方法是:
set more off
foreach v in _var02 {
ds *`v'
di "`r(varlist)'"
local sects`v' `r(varlist)'
foreach s in sec26 sec28 sec37 {
capture confirm local sects`v'
if !_rc {
egen oecd_medhigh_avg_`v'=rowmean(`s'`v' sec28`v' sec37`v' sec40`v' sec59`v' sec92`v' sec54`v' sec55`v' sec48`v' sec50`v' sec53`v' sec4`v' sec5`v' sec6`v')
else {
di "`v' didnt existed"
}
}
}
}
我让它只适用于那些在总行中存在所有扇区的变量(这更简单,因为我不必将 varlist 存储在宏中)。我想做一个可用扇区的平均值,即使每个变量只有两个。
我还注意到宏存储可能会有所帮助,但我不知道如何将其放入我的代码中。我完全被困在这里。
谢谢你的帮助!:)