在Stata中,你不能直接对两个或更多变量的系数之和进行分位数回归。但是,你可以使用post-estimation命令`lincom`来计算线性组合(例如,两个系数之和)的标准误差,并且可以使用此信息创建一个图形。
首先执行你的`sqreg`命令:
```stata
sysuse auto, clear
sqreg price weight length foreign, q(.1 .25 .5 .75 .90 .98)
```
然后,使用`lincom`命令来计算`weight`和`length`的系数之和以及相应的标准误差。注意需要为每个分位数运行此命令:
```stata
local qs "q1 q2 q3 q4 q5 q6"
foreach q in `qs' {
quietly lincom _b[`q':weight] + _b[`q':length], r.
local coef`q' = r(estimate)
local se`q' = r(se)
}
```
接下来,你可以将这些结果存储在一个数据集里,并使用`twoway`命令来创建图形。以下是一个示例:
```stata
clear matrix
mat results = J(1, 6, .)
forvalues i=1/6 {
local q="q`i'"
mat results[1, `i'] = coef`q'
}
svmat results
gen se_q1 = `seq1'
gen se_q2 = `seq2'
gen se_q3 = `seq3'
gen se_q4 = `seq4'
gen se_q5 = `seq5'
gen se_q6 = `seq6'
twoway rcap se_q*, over( _col ) || connected results* _col, ///
title("Coefficients Sum of Weight and Length at Different Quantiles") ///
legend(order(1 "Quantile 0.1" 2 "Quantile 0.25" 3 "Quantile 0.5" ///
4 "Quantile 0.75" 5 "Quantile 0.90" 6 "Quantile 0.98") ///
rows(3))
```
请注意,上述代码中的某些部分(如生成SE变量和使用`twoway rcap`命令)可能需要根据你的数据集和偏好进行调整。你可能还需要在你的环境中运行`syntax`或`local macro`处理的适当版本。
但是这只是一个基础的概念示例。要使它工作,可能需要根据你的具体情况和Stata环境来调整代码。例如,在实际使用中,你可能需要手动创建SE变量,或者通过循环直接将结果写入矩阵,然后再转换为数据集进行绘图。
希望这对解答你的问题有帮助!
此文本由CAIE学术大模型生成,添加下方二维码,优先体验功能试用