我想创建一个线形图,其中包括发病率的总体趋势和男性和女性的具体趋势。我使用以下代码来创建按趋势分组。如何将平均趋势添加到此折线图中。谢谢你的帮助。
proc sgplot data=have ;
vline year/response=disease_rate group=sex stat=mean datalabel=disease_rate ;
yaxis values=(0,1) label="Percentage";
run; 发布于 2021-10-25 15:57:26
使用series而不是vline,以便您可以将回归叠加在其上,以获得平均趋势线。例如:
proc sql;
create table have as
select date
, region
, sum(sale) as sale
from sashelp.pricedata
group by region, date
order by region, date
;
quit;
proc sgplot data=have;
series x=date y=sale / group=region;
reg x=date y=sale / group=region;
xaxis fitpolicy=rotatethin;
run;

发布于 2021-10-25 16:42:00
下面是一个总结它并将其显示在图表上的示例。虽然有不止一种方法可以做到这一点,但这只是其中的一种。
data have;
set sashelp.heart(in=a);
year=round(2021-ageAtStart, 10);
disease_rate= status="Dead";
run;
proc means data=have mean noprint;
class sex year;
types sex sex*year;
var disease_rate;
output out=summary_stats mean=average_value;
run;
proc sort data=summary_stats;
by sex year;
run;
data graph_data;
merge summary_stats(where=(_type_=2) rename=average_value=mean_sex_year)
summary_stats(where=(_type_=3) rename=average_value = mean_sex);
by sex;
format mean_sex: percent12.1;
run;
proc sgplot data=graph_data ;
*where year > 1990;
vline year/response=mean_sex_year group=sex stat=mean datalabel=mean_sex_year ;
vline year/response=mean_sex group=sex stat=mean datalabel=mean_sex ;
run; https://stackoverflow.com/questions/69711044
复制相似问题