You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Stata的点图(dot plot)中同时显示均值与标准误(SE)

Stata绘制带均值与标准误的点图

方法1:直接使用graph dot(最简方案)

graph dot是Stata更现代化的绘图命令,原生支持计算并展示均值和误差线(可指定为标准误)。以下是适配你数据的完整代码:

* 生成可复现数据
clear
set obs 100
set seed 12345

forval j = 1/6 {
    gen val`j' = rnormal(`j' * 10, `j' * 2)
}

rename val1 baseline1
rename val2 vrs
rename val3 sgbd
rename val4 baseline2
rename val5 fdst
rename val6 sgvf

* 绘制带均值+标准误的点图
graph dot (mean) baseline1 vrs sgbd baseline2 fdst sgvf, ///
    marker(1, color(navy) size(large)) /// 设置均值点样式
    ciopts(lcolor(navy) lwidth(medium) level(68)) /// 用level(68)对应均值±1*SE(正态分布下68%置信区间等价于1倍SE)
    ytitle("数值") ///
    xtitle("变量类型") ///
    title("均值与标准误点图") ///
    legend(off)

关键说明:

  • (mean)指定以均值作为点的位置
  • ciopts(level(68)):正态分布中,68%置信区间的范围恰好是均值±1倍标准误,如果需要显示95%置信区间(±1.96倍SE),可去掉level(68)使用默认设置
  • 可通过ciopts()调整误差线的颜色、粗细等样式

方法2:手动计算统计量后绘图(更灵活)

如果需要完全控制统计量的计算逻辑,可先手动算出每个变量的均值和标准误,再用scatter+errorbar组合绘图:

* 生成可复现数据(同方法1)
clear
set obs 100
set seed 12345

forval j = 1/6 {
    gen val`j' = rnormal(`j' * 10, `j' * 2)
}

rename val1 baseline1
rename val2 vrs
rename val3 sgbd
rename val4 baseline2
rename val5 fdst
rename val6 sgvf

* 计算每个变量的均值和标准误
foreach var of varlist baseline1 vrs sgbd baseline2 fdst sgvf {
    summarize `var', meanonly
    local mean_`var' = r(mean)
    local se_`var' = r(sd)/sqrt(r(N))  // 标准误=标准差/样本量平方根
}

* 将统计量转换为长格式数据集
clear
input str10 varname mean se
"baseline1" `mean_baseline1' `se_baseline1'
"vrs" `mean_vrs' `se_vrs'
"sgbd" `mean_sgbd' `se_sgbd'
"baseline2" `mean_baseline2' `se_baseline2'
"fdst" `mean_fdst' `se_fdst'
"sgvf" `mean_sgvf' `se_sgvf'
end

gen x = _n  // 生成x轴位置变量

* 绘制点图+标准误误差线
scatter mean x, ///
    marker(color(navy) size(large)) ///
    ytitle("数值") ///
    xtitle("变量类型") ///
    title("均值与标准误点图") ///
    xlabel(1 "baseline1" 2 "vrs" 3 "sgbd" 4 "baseline2" 5 "fdst" 6 "sgvf") ///
    legend(off) ///
    || errorbar mean se x, ///
    lcolor(navy) lwidth(medium) ///
    yscale(range(0 70))  // 根据数据范围调整y轴

关键说明:

  • 手动计算se确保你明确控制误差线的含义(就是标准误,而非置信区间)
  • 长格式数据集让你更灵活地调整x轴标签和绘图细节

原命令无法添加标准误的原因

你之前使用的dotplot是Stata旧版的绘图命令,功能有限,不支持直接添加误差线。推荐使用graph dot或上述手动计算的方案来实现需求。

内容的提问来源于stack exchange,提问作者niko

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 16:57:49