2015-10-07 5 views
0

Я еще не очень опытен в SAS. Моя проблема в том, что мне нужно добавить количество наблюдений в boxplot (я использую proc boxplot). Я попробовал параметр вставки, но мне не нравится результат, мне нужно что-то красивое. Я нашел это http://support.sas.com/resources/papers/wusspaper.pdfSOS boxplot с внутренним краем

мне нужно что-то вроде этого, с цифрами в внутреннем крае

enter image description here Это здорово, у них есть код, но я не получаю, где эти цифры (Количество предметы при посещении) берутся, если они рассчитываются отдельно, где они находятся в наборе данных и т. д. Жаль, что исходный набор данных не показан.

Любая помощь и любые другие идеи, как добавить число пациентов, будут очень оценены.

+0

Насколько я понимаю, они из столбцов tota и totb в исходном наборе данных и добавляются через boxplot. – kl78

ответ

0

Ниже приведен код SAS, в котором Ns добавляются в proc boxplot с использованием аннотации. В целом для аннотаций вам нужно быть осторожным при настройке системы координат, которую вы хотите, прочитать подробные описания документации по аннотату и xsys/ysys.

Надеюсь, это поможет.

proc sort data=sashelp.class out=work.class; 
    by sex; 
run; 

*** GET COUNTS FOR EACH GROUP ***; 
proc freq data=class; 
    tables sex/out=stats; 
run; 

*** CREATE ANNOTATE DATASET ***; 
data anno_stats; 
    set stats (drop=percent); 

    xsys='2'; 
    ysys='1'; 
    position='5'; 

    function='label'; 
    text='N=' || strip(put(count, 3.)); 

    *** X COORDINATE IS THE GROUP VARIBLE IN THE BOXPLOT ***; 
    *** USE VARIABLE XC INSTEAD OF X SINCE THIS IS A CHARACTER VARIABLE IN THIS EXAMPLE ***; 
    xc=sex; 
    *** Y COORDIANTE IS 3% ABOVE X-AXIS, BASED ON YSYS=1 ***; 
    y=3; 
run; 

proc boxplot data=class anno=anno_stats; 
    plot height * sex; 
run; 
Смежные вопросы