在数据子集中创建分位数虚拟变量
Creating quantile dummies within subsets of the data
我正在尝试在我的数据组中创建 quantiles
性能。
这样做时,我使用了 xtile
命令:
sysuse auto.dta
local outcomes mpg
foreach outcome in `outcomes' {
bysort foreign : xtile `outcome'_qtile = `outcome', n(4)
}
但是,我收到以下错误:
xtile may not be combined with by
r(190);
有解决办法吗?
您可以这样做:
clear
sysuse auto.dta
egen group = group(foreign)
summarize group
local outcomes mpg
foreach outcome in `outcomes' {
generate `outcome'_qtile = .
forvalues i = 1 / `r(max)' {
xtile temp_`outcome'_qtile = `outcome' if group == `i', n(4)
replace `outcome'_qtile = temp_`outcome'_qtile if group == `i'
drop temp_`outcome'_qtile
}
}
我正在尝试在我的数据组中创建 quantiles
性能。
这样做时,我使用了 xtile
命令:
sysuse auto.dta
local outcomes mpg
foreach outcome in `outcomes' {
bysort foreign : xtile `outcome'_qtile = `outcome', n(4)
}
但是,我收到以下错误:
xtile may not be combined with by
r(190);
有解决办法吗?
您可以这样做:
clear
sysuse auto.dta
egen group = group(foreign)
summarize group
local outcomes mpg
foreach outcome in `outcomes' {
generate `outcome'_qtile = .
forvalues i = 1 / `r(max)' {
xtile temp_`outcome'_qtile = `outcome' if group == `i', n(4)
replace `outcome'_qtile = temp_`outcome'_qtile if group == `i'
drop temp_`outcome'_qtile
}
}