SAS:画流程图

直接举个列子

想要生成一个受试者分布的流程图,如下:

InkedAnnotation 2020-03-02 151143_LI.jpg

代码如下:

proc template;
    define style trial/store=WORK.TEMPLAT;
        parent=Styles.RTF; 
        class Body/
            leftmargin=1.5cm
            rightmargin=1.5cm
            topmargin=1cm
            bottommargin=1cm
            ;
    %if %trim(&TsLanguage)=en %then %do;
        class Fonts/
            'TitleFont'=("Courier New", 10pt, bold)
            'FootnoteFont'=("Courier New", 9pt)
            'headingFont'=("Courier New", 10pt, bold)
            'docFont'=("Courier New", 10pt)
            ;
    %end;
    %else %if %trim(&TsLanguage)=cn %then %do;
        class Fonts/
            'TitleFont'=("SimSun", 10pt, bold)
            'FootnoteFont'=("SimSun", 9pt)
            'headingFont'=("SimSun", 10pt, bold)
            'docFont'=("SimSun", 10pt)
            ;
    %end;
/*-------------------------------*/
/*Set The Format of all of  Title*/
/*-------------------------------*/
        class SystemTitle/
            textalign = left
            ;
/*---------------------------*/
/*Set The Format of Title 1-2*/
/*---------------------------*/

/*        class SystemTitle/*/
/*            textalign = left*/
/*            fontsize=10pt*/
/*            ;*/

/*---------------------------*/
/*Set The Format of Title 3-5*/
/*---------------------------*/

/*        class SystemTitle3/*/
/*            textalign = center*/
/*            fontsize=12pt*/
/*            ;*/

/*---------------------------*/
/*Set The Format of Title6-N*/
/*---------------------------*/

/*        class SystemTitle6/*/
/*            textalign = left*/
/*            fontsize=10pt*/
/*            ;*/

        class Table/
            background=white
            frame=hsides
            rules=groups
            cellpadding=1pt
            cellspacing=0pt
            textalign=left
            width=100%
            protectspecialchars=off
            ;
        class HeadersAndFooters/
            backgroundcolor=white
            textalign=left
            asis=on
            protectspecialchars=off
            ;
        class Data/
            font=Fonts('docFont')
            asis=on
            protectspecialchars=off
            ;
/*Set The Format of Footnotes*/
        class SystemFooter/
            textalign = left
            font=Fonts('FootnoteFont')
            ;
    end;
run;

%annomac;


%macro add_element(x=,y=,width=,height=,text=);
 %rect(&x,&y,&x+&width,&y+&height,black,1,1);
 %let i=1;
 %do %until (%qscan(&text,&i,'|')=);
 %label(&x+1,&y+&height-2.5*&i,"%qscan(&text,&i,'|')",BLACK,0,0,2.5,SimSun,6);
 %let i=%eval(&i+1);
 %end;
%mend add_element; 

data final;
 length function color style $8. text $60.;
 retain xsys '3' ysys '3' hsys '3' when 'a' line 1 function 'label';
 %add_element(x=39,y=89,width=14,height=6,text=%str( *** 受试者筛选 ));
 %add_element(x=38,y=77,width=16,height=6,text=%str( *** 受试者随机化 ));
 %add_element(x=13,y=65,width=22,height=6,text=%str( *** 受试者分配至XXX ));
 %add_element(x=56,y=65,width=21,height=6,text=%str( *** 受试者分配至安慰剂 ));
 %add_element(x=15,y=54,width=16,height=6,text=%str( *** 服用研究药物 ));
 %add_element(x=58,y=54,width=16,height=6,text=%str( *** 服用研究药物 ));
 %add_element(x=28,y=28,width=20,height=24,text=%str( *** 治疗结束 |   *** 不良事件 |   *** 疾病进展 |   *** 受试者要求退出 | *** 退出研究 |   *** 不良事件 |   *** 疾病进展 |   *** 受试者要求退出 ));
 %add_element(x=71,y=28,width=20,height=24,text=%str( *** 治疗结束 |   *** 不良事件 |   *** 疾病进展 |   *** 受试者要求退出 | *** 退出研究 |   *** 不良事件 |   *** 疾病进展 |   *** 受试者要求退出 ));
/* %add_element(x=12-10,y=26+15,width=16,height=6,text=%str( 随访期死亡 | N=xxx));*/
/* %add_element(x=72-10,y=26+15,width=16,height=6,text=%str( 随访期死亡 | N=xxx));*/
 %add_element(x=30-15-6,y=20,width=28,height=6,text=%str( *** 数据截止时仍在服用研究药物 ));
 %add_element(x=54-6+4,y=20,width=28,height=6,text=%str( *** 数据截止时仍在服用研究药物 ));

 /*** CONNECTING LINES... ***/
 %line(39+7,89,39+7,77+6,BLACK,1,0.1);
 %line(46,77,46,77-3,BLACK,1,0.1);
 %line(13+11,74,56+11,74,BLACK,1,0.1);
 %line(24,74,24,71,BLACK,1,0.1);
 %line(67,74,67,71,BLACK,1,0.1);
 %line(24,65,24,60,BLACK,1,0.1);
 %line(67,65,67,60,BLACK,1,0.1);
 %line(24,54,24,26,BLACK,1,0.1);
 %line(67,54,67,26,BLACK,1,0.1);
 %line(24,40,28,40,BLACK,1,0.1);
 %line(67,40,71,40,BLACK,1,0.1);
/* %line(38-10,29+15,28-10,29+15,BLACK,1,0.1);*/
/* %line(62-10,29+15,72-10,29+15,BLACK,1,0.1);*/
run; 
quit;

可供参考的链接

一篇文献

https://www.pharmasug.org/proceedings/2011/TT/PharmaSUG-2011-TT08.pdf

SAS help文档

http://support.sas.com/documentation/cdl/en/graphref/63022/HTML/default/viewer.htm#annodata-aboutds.htm%23annodata-vartable

后记

在做另外一张流程图时,有两个需要同时服用的研究药物,我想的流程图是这样

但这样不太对,因为两个药是同一批人,所以不开两条线,改成下图更合适


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,711评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,932评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,770评论 0 330
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,799评论 1 271
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,697评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,069评论 1 276
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,535评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,200评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,353评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,290评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,331评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,020评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,610评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,694评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,927评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,330评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,904评论 2 341