微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在 SAS 中绘制一系列随时间变化的利率

如何解决如何在 SAS 中绘制一系列随时间变化的利率

我有 3 个数据集:“Complete”、“Incomplete”和“Case_List”。 “完整”包含已接种完整系列疫苗的个人记录; “不完整”是相同的,只是剂量数少于完整系列; “Case_List”包含特定感染的确诊病例。每个数据集都包含一个日期,我将其转换为一年中的一周(1:53),个人年龄,我将其划分为年龄组(最容易将年龄组称为 1:8,但它们的字符变量) ,和身份证。根据定义,“完整”中的每个 ID/记录都处于“不完整”状态,因为个人在第 2 剂之前接受了第 1 剂,但我无法访问任何个人标识符以将它们链接到“Case_List”ID。>

我是 SAS 的新手,还没有找到足够的绘图说明,以便能够使用 Case_List over Week(1:53) 与 Incomplete over Week(1:53) 和 Complete over Week(1) 绘制图形:53),所有这些都按 Age_Group(1:8) 细分。如果我无法弄清楚,我只会在 R 中绘制所有内容

其他想法: 合并 Incomplete 和 Complete 是否更容易,因此只有两个数据集? 已经包含 3 条线的图形的 8 次迭代对于一个图是否会太混乱?

感谢您的帮助。

解决方法

在 SAS 中,您不能叠加来自多个数据集的图 - 您需要将所有内容合并为一个数据集。

不过,您不必“合并”任何内容,只需将它们组合在一起并添加“类别”变量即可。

data incompletes completes case_list;
    call streaminit(7);
    do week = 1 to 53;
      do _i = 1 to 200;
        age = rand('Integer',1,8);
        _output = rand('Uniform');
        if _output lt (0.1+week/100) then output completes;
        if _output lt (0.2+week/80) then output incompletes;
        if _output lt (0.2-((week/150)**2)) then output case_list;
      end;
    end;
run;



data total;
  set completes(in=_comp) incompletes(in=_incomp) case_list(in=_case);
  if _comp then category="Complete";
  else if _incomp then category="Incomplete";
  else category="Disease Cases";
run;
    
    

然后您可以叠加图,具体取决于您想要做什么。

proc sgplot data=total;
  vline week/group=category;
run;

您可以按照评论中的说明按年龄添加镶板,或者根据您的具体操作,您还有其他一些选择,但我认为这会得到您真正想知道的信息 - 我如何在 SAS 中叠加图。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。