Calandra__ 2024-03-12 09:20 采纳率: 100%
浏览 53
已结题

多组ITS中断时间序列分析怎么把三组结果放在一张图里

我正在使用STATA 17.0做多组的中断时间序列分析,主要是比较一、二、三级医院的住院费用变化趋势,但是貌似软件最多只支持两组之间比较,而且作图也只支持两组,像这篇文章,三组间断都在一张图里是如何完成的?有人知道吗~
itsa cost,treat(1) trperiod(2024) replace prais rhotype(tscorr) figure//以一级医院为实验组,二三级医院为对照组,观察2024年前后的费用变化趋势
如果变成treat(1,2)就会报错说括号里面只能填写一个数字

img

  • 写回答

4条回答 默认 最新

  • 专家-赤兔[在线] 优质创作者: 编程框架技术领域 2024-03-12 09:21
    关注

    引自免费微信小程序:皆我百晓生

    在STATA中,中断时间序列分析(ITSA)的作图功能确实不直接支持同时展示三组或多组的结果在同一张图形上。不过,你可以通过分步操作来实现这一目标:

    首先,分别对每组医院进行中断时间序列分析并保存回归结果到矩阵或数据文件,然后使用twoway命令绘制多条线在一张图上。

    例如,针对一级、二级和三级医院,可以分别运行以下三条命令,并将结果存储为各自的数据集(这里假设存储为三个临时数据集:temp1、temp2、temp3):

    * 对一级医院进行ITSA并保存结果
    itsa cost if rhotype == 1, treat(1) trperiod(2024) replace prais rhotype(tscorr) predict outcome1, xb
    gen time1 = _n
    keep time1 outcome1
    save temp1, replace
    
    * 对二级医院进行ITSA并保存结果
    itsa cost if rhotype == 2, treat(1) trperiod(2024) replace prais rhotype(tscorr) predict outcome2, xb
    gen time2 = _n
    keep time2 outcome2
    save temp2, replace
    
    * 对三级医院进行ITSA并保存结果
    itsa cost if rhotype == 3, treat(1) trperiod(2024) replace prais rhotype(tscorr) predict outcome3, xb
    gen time3 = _n
    keep time3 outcome3
    save temp3, replace
    

    接下来,加载这三个临时数据集并在同一张图上绘制三条线:

    use temp1, clear
    twoway (line outcome1 time1, lcolor(blue)) ///
         (line outcome2 time2 if `:browse "temp2.dta"', lcolor(green)) ///
         (line outcome3 time3 if `:browse "temp3.dta"', lcolor(red)) ///
         , xtitle(Time Period) ytitle(Cost) legend(order(1 "一级医院" 2 "二级医院" 3 "三级医院"))
    

    这段代码会生成一张包含三条折线图的图表,分别代表一、二、三级医院住院费用的变化趋势,其中蓝色线条表示一级医院,绿色线条表示二级医院,红色线条表示三级医院。

    请注意,这里的示例假设你的原始数据集中有变量rhotype用于区分不同级别的医院,并且所有医院的时间序列长度相同。如果实际情况有所不同,请相应调整上述代码以匹配你的数据结构。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 3月28日
  • 已采纳回答 3月20日
  • 创建了问题 3月12日