sungmoo 发表于 2012-12-9 11:46 
*假设内存中的数据库变量是id、var、y2012、y2011、……、y1990
reshape long y,i(id var) j(year) s
e ...
forvalues i=1/20{
la var y`i' `"``i''"'
}
这里没有达到预期效果:
应该是想要把刚才levelsof var, local(v)生成的v里的20个变量标签 贴到y1-y20上。
可能的出错原因是macro list 里面没有v,我想也许: 如果能用global的话,就能存下来了。
源码:
insheet using big.csv, names clear
foreach i of numlist 3/25 {
local j=2015-`i'
rename v`i' y`j'
}
save big.dta,replace
reshape long y,i(id var) j(year) string
egen v=group(var)
levelsof var,local(v)
token `"`v'"',p("' `")
drop var
reshape wide y,i(id year) j(v)
forvalues i=1/20{
label var y`i' `"``i''"'
}