Sas: как построить средние значения с помощью стандартных полос ошибок
Вы можете использовать следующий синтаксис в SAS для создания графика средних значений со стандартными планками ошибок по группам:
/*calculate mean and standard error of points for each team*/
proc sql ;
create table groupPlot as
select
team,
mean(points) as meanPoints,
mean(points) - stderr (points) as lowStdPoints,
mean(points) + stderr (points) as highStdPoints
from my_data
group by team;
quit ;
/*create plot with mean and standard error bars of points for each team*/
proc sgplot data =groupPlot;
scatter x =team y =meanPoints /
yerrorlower =lowStdPoints yerrorupper =highStdPoints group =team;
series x =team y =meanPoints / group =team;
run ;
В этом конкретном примере PROC SQL используется для расчета среднего значения переменной «очки» , сгруппированной по переменной команды в наборе данных.
Затем мы используем PROC SGPLOT для создания графика, который показывает среднее значение переменной точек вместе со стандартными планками ошибок, сгруппированными по командной переменной.
В следующем примере показано, как использовать этот синтаксис на практике.
Пример. Построение графика средних значений со стандартными полосами ошибок в SAS
Предположим, у нас есть следующий набор данных, содержащий информацию об очках, набранных баскетболистами разных команд:
/*create dataset*/
data my_data;
input team $points;
datalines ;
At 29
At 23
At 20
At 21
At 33
B14
B 13
B17
B14
B15
C 21
C22
C 20
C25
C24
;
run ;
/*view dataset*/
proc print data =my_data;
Допустим, мы хотим создать диаграмму, показывающую среднее значение очков вместе со стандартными планками ошибок для каждой команды .
Для этого мы можем использовать следующий синтаксис:
/*calculate mean and standard error of points for each team*/
proc sql ;
create table groupPlot as
select
team,
mean(points) as meanPoints,
mean(points) - stderr (points) as lowStdPoints,
mean(points) + stderr (points) as highStdPoints
from my_data
group by team;
quit ;
/*create plot with mean and standard error bars of points for each team*/
proc sgplot data =groupPlot;
scatter x =team y =meanPoints /
yerrorlower =lowStdPoints yerrorupper =highStdPoints group =team;
series x =team y =meanPoints / group =team;
run ;
Маленькие кружки показывают среднее значение очков для каждой команды , а полоски, выходящие из кружков, показывают стандартную ошибку очков для каждой команды .
Мы также можем распечатать таблицу, созданную с помощью PROC SQL , чтобы увидеть фактические значения средней и стандартной ошибки:
/*print mean and standard error of points for each team*/
proc print data =groupPlot;
Значения в этой таблице соответствуют значениям, показанным на графике выше.
Дополнительные ресурсы
В следующих руководствах объясняется, как создавать другие диаграммы в SAS:
Как создать линейные графики в SAS
Как создать коробчатые диаграммы по группам в SAS
Как создать диаграмму рассеяния с линией регрессии в SAS