簡體   English   中英

如何 Plot 在 SAS 中隨時間變化的一系列速率

[英]How to Plot a Series of Rates Over Time in SAS

我有 3 個數據集:“完整”、“不完整”和“Case_List”。 “完整”包含已接種全系列疫苗的個人記錄; “不完整”是相同的,只是劑量數量少於完整系列; “Case_List”包含特定感染的確診病例。 每個數據集都包含一個日期,我已將其轉換為一年中的一周(1:53),個人年齡,我已將其划分為年齡組(最容易將年齡組稱為 1:8,但他們的字符變量) , 和一個 ID。 根據定義,“完成”中的每個 ID/記錄都是“不完整”的,因為個人在第 2 劑之前接受了第 1 劑,但我無法訪問任何個人標識符以將它們鏈接到“Case_List”ID。

我是 SAS 的新手,並且還沒有找到足夠的繪圖說明,以便能夠 plot 繪制一個圖表,其中 Case_List over Week(1:53) 覆蓋了一周內未完成 (1:53) 和一周內完成 (1:53) ,以及所有這些都按 Age_Group(1:8) 細分。 如果我無法弄清楚,我只會 plot R 中的所有內容。

其他想法:合並不完整和完整是否更容易,所以只有兩個數據集? 對於一個 plot 來說,已經包含 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 中疊加圖。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM