有没有办法在Stata的散点图中抖动置信区间?

问题描述

我正在尝试使用foreign==0和{为两个组(foreign==1twoway scatter)创建一个随时间推移具有平均值以及相关置信区间(CI)的图。 {1}}。但是,即使CI使用重叠,也很难区分它们,即使我使用不同的颜色或线条样式也是如此。

我尝试使用rcap选项随机偏移绘图上的点。虽然此方法适用于jitter,但似乎不适用于scatter,我正在用它来绘制CI。它接受该选项,没有错误,但不会抖动CI。我希望通过将rcap选项与相同种子一起使用,我能够将jitterseed的标记和scatter的CI偏移到绘图上的相同位置。

This在2005年Statalist上的帖子表明rcap不支持rcap。我在当前jitter文档中找不到对jitter选项的引用,因此我认为情况仍然如此。我愿意接受使用rcap以外的绘图命令来绘制均值的CI的解决方案。 TIA。

可复制的示例:

rcap

解决方法

感谢可复制的示例。您从2007年引用的帖子并没有暗示jitter()不允许使用twoway rcap:这是事实。但是据记载,jitter()适用于使用scattergraph matrix的点,如果在其他地方适用,则将被明确记录。

但这不是后悔的原因。置信区间的抖动峰值或加盖的条形看起来很混乱,也不能保证它们与抖动标记对齐以进行点估计。该图看起来太像一个小孩的画。原则上,使用相同的种子也无济于事。

Stata不直接在twoway图形中支持您所需的内容,因此需要一些工作来设置偏移量。对于成对的估计值和置信区间,我将显示位置向左和向右移动。在此示例中,偏移量足够小,并且数据范围如此之大,以至于我自动获得了 x 轴标签,尽管在其他问题中,您可能需要直接拼出所需内容。

我不喜欢同一命令行中不同图形命令的括号符号,因为已经有足够的括号了。我也不遵循为什么您要在两组中坚持使用相同的颜色和标记符号,但是这可能反映出您遇到的一些逻辑或实际问题。

说出三组进行比较,我将向左移动一个估计值,向右移动一个估计值,然后将第三个估计值放在中间。在四个或更多小组的情况下,您通常需要加倍思考。

毫无疑问,偏移观念已经像许多文学作品一样在许多人中出现了,但是它写在this Stata Journal tip by James Cui中。

sysuse auto,clear

* Generate required statistics by repair record and foreign
collapse (mean)     mean_price = price      ///
         (sd)       sd_price = price        ///
         (count)    n_price = price,by(foreign rep78)

* Compute confidence intervals
gen lb_price = mean_price - invttail(n_price-1,0.025)*(sd_price / sqrt(n_price))
gen ub_price = mean_price + invttail(n_price-1,0.025)*(sd_price / sqrt(n_price))

local offset 0.1 
gen rep78_L = rep78 - `offset'
gen rep78_R = rep78 + `offset'

* No jitter
twoway scatter mean_price rep78_L if foreign == 0,c(L) lcol(blue) msym(Oh) mcol(blue) ///
   || scatter mean_price rep78_R if foreign == 1,c(L) lcol(orange) msym(Th) mcol(orange)  ///  
   || rcap lb_price ub_price rep78_L if foreign == 0,lcol(blue)  ///
   || rcap lb_price ub_price rep78_R if foreign == 1,lcol(orange)  /// 
    xtitle("Repair record 1978") ytitle(Price (USD)) legend(order(1 "Domestic" 2 "Foreign"))

enter image description here

诸如coefplot之类的由社区贡献的命令可能支持这种事情,这是我从未使用过的出色命令。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...