強姦婬片A片AAA毛片Mv,少妇搡BBBB搡BBBB毛多多,国产精品嫩草久久久久yw193,国产成人精品 视频
中文
關于我們
主營業(yè)務
技術平臺
學術交流
新聞中心
加入我們
主營業(yè)務
表單填寫
*姓名
*電話
*郵箱
*公司
*留言信息
熙寧小課-第117期 | PK統(tǒng)計分析——如何利用 SAS 制作多種樣式的藥時曲線圖?
發(fā)布作者:熙寧生物發(fā)布時間:2023-10-08

PART 01

藥時曲線


血藥濃度-時間曲線圖(藥時曲線)是藥物被給予機體后,以時間為橫坐標,藥物(及其代謝物)在血液中的濃度為縱坐標所繪制的血藥濃度隨時間變化的曲線。


藥時曲線能反映體內藥物濃度的經(jīng)時變化過程。為設計采血點、給藥方案提供依據(jù)。因此繪制藥時曲線是藥代動力學分析中的一個重要部分。


根據(jù)CDE頒布的《藥物臨床試驗數(shù)據(jù)遞交指導原則(試行)》中指出申報資料中的數(shù)據(jù)集通常采用SAS數(shù)據(jù)傳輸格式(SAS Transport Format,簡稱XPT),由此可見SAS軟件在藥品臨床試驗數(shù)據(jù)分析中是必不可缺。


其中SAS Graph Template Language (GTL)是繪制復雜圖形的強大工具。本文將使用SAS編程呈現(xiàn)幾種不同的藥時曲線樣式,探索如何繪制更協(xié)調更直觀的圖形,供大家共同學習討論!


PART 02

GTL原理


基于GTL的圖形由控制圖形格式和外觀,并指定變量角色的模板定義生成。圖形是通過關聯(lián)模板與數(shù)據(jù)源來呈現(xiàn)。


使用GTL創(chuàng)建一個圖形的基本步驟

1. 使用template過程定義STATGRAPH模板

2. 使用圖形模板語言來指定圖形的參數(shù)


上下左右滑動閱覽

proc template;
      define statgraph tmp1;
            /*利用dynamic將template中的變量、標簽等內容開放出來,便于修改dynamic的值來控制輸出,重復使用*/
            dynamic XAXISLABEL YVAR XVAR GRPVAR LENGEDTITLE TICKMIN TICKMAX;
            begingraph;
                  [自定義的圖形模板]
            endgraph;
      end; 
run;



3. 通過使用SGRENDER過程將數(shù)據(jù)與模板關聯(lián)



上下左右滑動閱覽

proc sgrender data=[數(shù)據(jù)源] template=[GTL模板];
      /*不同表僅修改dynamic即可*/
      dynamic XAXISLABEL='Time(h)' YVAR='Mean' XVAR='ATPTN' LENGEDTITLE='劑量組:'
            GRPVAR='ARMCD' TICKMIN='0.5' TICKMAX='13';
run;



GTL最強大的特性之一是圍繞著分層語句塊(即:Layout布局)構建的語法,常用布局:

1. OVERLAY : 用于在單個單元格中顯示二維繪圖的通用布局

2. GRIDDED : 網(wǎng)格圖形,所有單元格獨立

3. LATTICE : 升級版多單元格布局。坐標軸可以跨列或行共享,并且位于網(wǎng)格外部


通過兩個例子來初步認識一下布局的魅力


1. 簡單LATTICE布局


GTL代碼:

上下左右滑動閱覽

proc template;
  define statgraph Simple_Layout;
    begingraph;
        entrytitle 'Simple Layout';
      layout lattice / columns=2 columngutter=5;
        layout overlay / walldisplay=(outline) xaxisopts=(display=none) yaxisopts=(display=none);
                scatterplot x=weight y=systolic / markerattrs=(size=0);
                    entry halign=center textattrs=(size=20) "1" /  valign=center;
            endlayout;
        layout overlay / walldisplay=(outline) xaxisopts=(display=none) yaxisopts=(display=none);
                scatterplot x=weight y=diastolic / markerattrs=(size=0);
                    entry halign=center textattrs=(size=20) "2" /  valign=center;
            endlayout;
        endlayout;
      endgraph;
  end;
run;

proc sgrender data=sashelp.heart template=Simple_Layout;
run;


2. 復雜LATTICE布局


GTL代碼:

下左右滑動閱覽

proc template;
  define statgraph Complex_Layout;
    begingraph;
      layout lattice / columns=2 columnweights=(.6 .4) columngutter=5;
          layout lattice / rows=4 rowweights=(.25 .2 .2 .35) rowgutter=5;
            layout lattice / columns=2 rowweights=(.6 .4) columngutter=5;
            layout overlay / walldisplay=(outline) xaxisopts=(display=none) yaxisopts=(display=none);
                scatterplot x=height y=weight / markerattrs=(size=0);
                    entry halign=center textattrs=(size=20) "1" /  valign=center;
                  endlayout;
            layout overlay / walldisplay=(outline) xaxisopts=(display=none) yaxisopts=(display=none);
                scatterplot x=height y=weight / markerattrs=(size=0);
                    entry halign=center textattrs=(size=20) "2" /  valign=center;
                  endlayout;
              endlayout;
            layout overlay / walldisplay=(outline) xaxisopts=(display=none) yaxisopts=(display=none);
              scatterplot x=height y=weight / markerattrs=(size=0);
                  entry halign=center textattrs=(size=20) "3" /  valign=center;
              endlayout;
            layout overlay / walldisplay=(outline) xaxisopts=(display=none) yaxisopts=(display=none);
              scatterplot x=height y=weight / markerattrs=(size=0);
                  entry halign=center textattrs=(size=20) "4" /  valign=center;
              endlayout;
              layout lattice / columns=2 rowweights=(.6 .4) columngutter=5;
            layout overlay / walldisplay=(outline) xaxisopts=(display=none) yaxisopts=(display=none);
                scatterplot x=height y=weight / markerattrs=(size=0);
                  entry halign=center textattrs=(size=20) "5" /  valign=center;
              endlayout;
              layout overlay / walldisplay=(outline) xaxisopts=(display=none) yaxisopts=(display=none);
                scatterplot x=height y=weight / markerattrs=(size=0);
                    entry halign=center textattrs=(size=20) "6" /  valign=center;
                endlayout;
              endlayout;
            endlayout;
        layout overlay / walldisplay=(outline) xaxisopts=(display=none) yaxisopts=(display=none);
            scatterplot x=height y=weight / markerattrs=(size=0);
              entry halign=center textattrs=(size=20) "7" /  valign=center;
            endlayout;
        endlayout;
      endgraph;
  end;
run;

ods graphics / reset width=5in height=5in imagename='Complex_Layout';
proc sgrender data=sashelp.class template=Complex_Layout;
run;



PART 03

數(shù)據(jù)準備


準備一份不同采血點的血藥濃度Mean±SD的模擬數(shù)據(jù):

上下左右滑動閱覽

data test;
      input ARMCD $10. ATPTN Mean Meanlow Meanhig;
datalines;
劑量組1 1    212.5   206.1   218.9
劑量組1 2    141.9    66.8    217.0
劑量組1 3    118.7    50.4    187.0
劑量組1 4     87.4     41.3    133.5
劑量組1 6     58.4     26.9     89.8
劑量組1 8     40.7     15.7     65.6
劑量組1 12   19.9      7.9      31.9
劑量組2 1     87.7     23.5    151.8
劑量組2 2    135.3   135.3   290.5
劑量組2 3    126.4   126.4   282.8
劑量組2 4    113.3   113.3   250.1
劑量組2 6     81.9     81.9    175.4
劑量組2 8     72.0       4.1    139.9
劑量組2 12     45.5    16.5    74.4
劑量組3 1    355.5     83.3    627.7
劑量組3 2    290.5   107.4    473.6
劑量組3 3    303.0   206.8    399.2
劑量組3 4    217.0   163.3    270.7
劑量組3 6    166.0   110.8    221.2
劑量組3 8    129.5     92.0    167.0
劑量組3 12     84.4    53.7    115.0
;
run;


SAS數(shù)據(jù)集:


PART 04

繪圖


藥時曲線的血藥濃度所對應的坐標軸通常采用線性和半對數(shù)兩種不同方式呈現(xiàn)。


Level 1   橫向并列,簡單直接

1. 使用lattice作為最外層布局

2. 內嵌兩個overlay作為基礎單元格布局,分別容納線性藥時曲線和半對數(shù)藥時曲線


上下左右滑動閱覽

proc template;
      define statgraph tmp1;
            dynamic XAXISLABEL YVAR XVAR GRPVAR LENGEDTITLE TICKMIN TICKMAX;
            begingraph;
                  layout lattice / columns=2 rows=1;
                  column2headers;
                    entry "線性藥時曲線";
                    entry "半對數(shù)藥時曲線";
                  endcolumn2headers;
                        layout overlay/
                              xaxisopts=(label=XAXISLABEL  offsetmin=0 offsetmax=0
                                    linearopts=(tickvaluelist=(0 1 2 3 4 6 7 8 12) viewmin=TICKMIN viewmax=TICKMAX TICKVALUEFITPOLICY=ROTATE)
                                    tickvalueattrs=(size=7pt) labelattrs=(size=7pt))
                        yaxisopts=(label="Concentration (ng/mL)") walldisplay=none ;
                              seriesplot y=YVAR x=XVAR / group=GRPVAR name="stocks1";
                              scatterplot y=YVAR x=XVAR / group=GRPVAR name="stocks2"
                                    YERRORLOWER=meanlow YERRORUPPER=meanhig markerattrs=(symbol=squarefilled size=8) ;
                              mergedlegend "stocks1"  "stocks2" /title=LENGEDTITLE  border=true across=4 DISPLAYCLIPPED=TRUE;
                        endlayout;
                        layout overlay/
                              xaxisopts=(label=XAXISLABEL  offsetmin=0 offsetmax=0
                                    linearopts=(tickvaluelist=(0 1 2 3 4 6 7 8 12) viewmin=TICKMIN viewmax=TICKMAX TICKVALUEFITPOLICY=ROTATE)
                                    tickvalueattrs=(size=7pt) labelattrs=(size=7pt))
                        yaxisopts=(label="Concentration (ng/mL)" TYPE=LOG LOGOPTS=(base=10)) walldisplay=none ;
                              seriesplot y=YVAR x=XVAR / group=GRPVAR name="stocks3";
                              scatterplot y=YVAR x=XVAR / group=GRPVAR name="stocks4"
                                    YERRORLOWER=meanlow2 YERRORUPPER=meanhig markerattrs=(symbol=squarefilled size=8) ;
                              mergedlegend "stocks3" "stocks4"/title=LENGEDTITLE /*border=true*/ across=4 DISPLAYCLIPPED=TRUE;
                        endlayout;
                  endlayout;
            endgraph;
      end;
run;

proc sgrender data=test template=tmp1;
dynamic XAXISLABEL='Time(h)' YVAR='Mean' XVAR='ATPTN' LENGEDTITLE='劑量組:' GRPVAR='ARMCD' TICKMIN='0.5' TICKMAX='13';
run;



將線性藥時曲線和半對數(shù)曲線直接橫向排列起來是最簡單省力的方法,同時也有一些缺點,如:

?  圖例重復

?  圖形中大面積空白,缺少層次




Level 2   以圖嵌圖,填補空白

藥時曲線的消除相部分有大量空白,嘗試將半對數(shù)藥時曲線縮小填充到空白部分,提高圖形層次感。

1. 使用overlay作為最外層布局,容納線性藥時曲線

2. 內嵌gridded作為獨立的單元格布局,嵌入半對數(shù)藥時曲線

解決了

? 圖例重復

? 圖形合并

但不同分組標記形狀一致,僅以顏色來區(qū)分的效果較差。


上下左右滑動閱覽

proc template;
      define statgraph tmp2;
            dynamic XAXISLABEL YVAR XVAR GRPVAR LENGEDTITLE TICKMIN TICKMAX;
            begingraph;
                  layout overlay/
                        xaxisopts=(label=XAXISLABEL  offsetmin=0 offsetmax=0
                              linearopts=(tickvaluelist=(1 2 3 4 6 7 8 12) viewmin=TICKMIN viewmax=TICKMAX TICKVALUEFITPOLICY=ROTATE)
                              tickvalueattrs=(size=7pt) labelattrs=(size=7pt))
                  yaxisopts=(label="Concentration (ng/mL)" TYPE=LINEAR) ;
                        seriesplot y=YVAR x=XVAR / group=GRPVAR name="scatter";
                        scatterplot y=YVAR x=XVAR / group=GRPVAR name="scatter2"
                              YERRORLOWER=meanlow YERRORUPPER=meanhig ;

                        layout gridded / width=300px height=200px halign=right valign=top;
                              layout overlay/
                                    xaxisopts=(label=XAXISLABEL  offsetmin=0 offsetmax=0
                                          linearopts=(tickvaluelist=(1 2 3 4 6 7 8 12) viewmin=TICKMIN viewmax=TICKMAX TICKVALUEFITPOLICY=ROTATE)
                                          tickvalueattrs=(size=7pt) labelattrs=(size=7pt))
                              yaxisopts=(label="Concentration (ng/mL)" TYPE=LOG
                                    LOGOPTS=(base=10 tickvaluelist=(1 10 100 1000) viewmin=0 viewmax=1000));
                                    seriesplot y=YVAR x=XVAR / group=GRPVAR;
                                    scatterplot y=YVAR x=XVAR / group=GRPVAR
                                          YERRORLOWER=meanlow YERRORUPPER=meanhig  ;
                              endlayout;
                      endlayout;
                      mergedlegend "scatter" "scatter2"/title=LENGEDTITLE across=4 DISPLAYCLIPPED=TRUE;
                  endlayout;
            endgraph;
      end;
run;

proc sgrender data=test template=tmp2 ;
      dynamic XAXISLABEL='Time(h)' YVAR='Mean' XVAR='ATPTN' LENGEDTITLE='劑量組:' GRPVAR='ARMCD' TICKMIN='0.5' TICKMAX='13';
run;



Level 3   錦上添花,增強效果

1. 添加discreteattrmap塊,設置不同分組的顯示屬性,讓區(qū)分更具辨識度


上下左右滑動閱覽

discreteattrmap name="symbols" / ignorecase=true;
    value "XXX" / markerattrs=() lineattrs=() TEXTATTRS=();
enddiscreteattrmap;
discreteattrvar attrvar=groupmarkers var=[分組變量] attrmap="symbols";


2. 在半對數(shù)藥時曲線中使用entry語句添加類似水印效果的文字


上下左右滑動閱覽

entry  "LOG SCALE" /valign=bottom TEXTATTRS=(COLOR=CXDCDCDC SIZE=15 WEIGHT=BOLD);

proc template;
      define statgraph tmp3;
            dynamic XAXISLABEL YVAR XVAR GRPVAR LENGEDTITLE TICKMIN TICKMAX;
            begingraph;
                  discreteattrmap name="symbols" / ignorecase=true;
                      value "劑量組1" / markerattrs=(symbol=triangleFilled color=blue size=9 transparency = 0.6) lineattrs=(color=blue THICKNESS=0.5 PATTERN=4) TEXTATTRS=(size = 11pt  family='Times New Roman');
                      value "劑量組2" / markerattrs=(symbol=circleFilled color=green size=9 transparency = 0.6) lineattrs=(color=green THICKNESS=0.5 PATTERN=4) ;
                        value "劑量組3" / markerattrs=(symbol=squareFilled color=firebrick size=9 transparency = 0.6) lineattrs=(color=firebrick THICKNESS=0.5 PATTERN=4);
                  enddiscreteattrmap;
                  discreteattrvar attrvar=groupmarkers var=GRPVAR attrmap="symbols";

                              layout overlay/
                                    xaxisopts=(label=XAXISLABEL  offsetmin=0 offsetmax=0
                                          linearopts=(tickvaluelist=(1 2 3 4 6 7 8 12) viewmin=TICKMIN viewmax=TICKMAX TICKVALUEFITPOLICY=ROTATE)
                                          tickvalueattrs=(size=7pt) labelattrs=(size=7pt))
                              yaxisopts=(label="Concentration (ng/mL)" TYPE=LINEAR) ;
                                    seriesplot y=YVAR x=XVAR / group=groupmarkers name="scatter";
                                    scatterplot y=YVAR x=XVAR / group=groupmarkers name="scatter2"
                                          YERRORLOWER=meanlow YERRORUPPER=meanhig  ERRORBARATTRS=(THICKNESS=0.5 PATTERN=4);

                                    layout gridded / width=300px height=200px halign=right valign=top;
                                          layout overlay/
                                                xaxisopts=(label=XAXISLABEL  offsetmin=0 offsetmax=0
                                                      linearopts=(tickvaluelist=(1 2 3 4 6 7 8 12) viewmin=TICKMIN viewmax=TICKMAX TICKVALUEFITPOLICY=ROTATE)
                                                      tickvalueattrs=(size=7pt) labelattrs=(size=7pt))
                                          yaxisopts=(label="Concentration (ng/mL)" TYPE=LOG
                                                LOGOPTS=(base=10 tickvaluelist=(1 10 100 1000) viewmin=0 viewmax=1000));
                                          entry  "LOG SCALE" /valign=bottom TEXTATTRS=(COLOR=CXDCDCDC SIZE=15 WEIGHT=BOLD);
                                                seriesplot y=YVAR x=XVAR / group=groupmarkers;
                                                scatterplot y=YVAR x=XVAR / group=groupmarkers
                                                      YERRORLOWER=meanlow YERRORUPPER=meanhig ERRORBARATTRS=(THICKNESS=0.5 PATTERN=4);
                                          endlayout;
                                  endlayout;
                                  mergedlegend "scatter" "scatter2"/title=LENGEDTITLE across=4 DISPLAYCLIPPED=TRUE;
                              endlayout;
            endgraph;
      end;
run;

proc sgrender data=test template=tmp3 ;
      dynamic XAXISLABEL='Time(h)' YVAR='Mean' XVAR='ATPTN' LENGEDTITLE='劑量組:' GRPVAR='ARMCD' TICKMIN='0.5' TICKMAX='13';
run;



Level 4

當前期采血點較為密集導致不同分組的結果不易辨別時,可以將部分時間截取出來放在曲線右上方來增加區(qū)分度。


上下左右滑動閱覽

/*===========數(shù)據(jù)準備=========*/

data test2;
   input ARMCD $10. ATPTN Mean Meanlow Meanhig;
datalines;
劑量組1   1   287.1   41.24   532.96
劑量組1   2   343.1   153.44   532.76
劑量組1   3   320.4   175.59   465.21
劑量組1   4   295.9   156.72   435.08
劑量組1   5   268.3   140.22   396.38
劑量組1   6   252.7   136.16   369.24
劑量組1   8   212   114.716   309.284
劑量組1   10   182.1   93.099   271.101
劑量組1   24   84.3   36.133   132.467
劑量組1   48   22.18   8.709   35.651
劑量組1   72   6.207   0.332   12.082
劑量組1   96   0.589   0.589   2.4516
劑量組2   1   388.3   166.36   610.24
劑量組2   2   655.6   390.45   920.75
劑量組2   3   647.4   350.52   944.28
劑量組2   4   608   289.94   926.06
劑量組2   5   548.1   246.31   849.89
劑量組2   6   502.7   222.03   783.37
劑量組2   8   407.7   161.17   654.23
劑量組2   10   346.7   152.92   540.48
劑量組2   24   172.9   76.032   269.768
劑量組2   48   47.56   13.489   81.631
劑量組2   72   13.48   1.219   25.741
劑量組2   96   2.37   2.37   6.5262
劑量組3   1   628.6   355.7   901.5
劑量組3   2   1047   539.45   1554.55
劑量組3   3   1060   585.8   1534.2
劑量組3   4   1008   536.09   1479.91
劑量組3   5   961.7   464.03   1459.37
劑量組3   6   891.4   409.51   1373.29
劑量組3   8   780.2   303.3   1257.1
劑量組3   10   643.9   240.93   1046.87
劑量組3   24   246.6   121.04   372.16
劑量組3   48   60.28   22.872   97.688
劑量組3   72   16.89   3.892   29.888
劑量組3   96   4.387   4.387   9.7029
劑量組4   1   457.3   272.71   641.89
劑量組4   2   924.5   735.7   1113.3
劑量組4   3   1283   818.99   1747.01
劑量組4   4   1550   329.8   2770.2
劑量組4   5   1435   331.3   2538.7
劑量組4   6   1353   365.57   2340.43
劑量組4   8   1101   333.82   1868.18
劑量組4   10   939.3   225.16   1653.44
劑量組4   24   404.8   75.29   734.31
劑量組4   48   103   25.219   180.781
劑量組4   72   24.52   9.958   39.082
劑量組4   96   6.153   1.6598   10.6462
劑量組5   1   1826   370.3   3281.7
劑量組5   2   2700   414.9   4985.1
劑量組5   3   2953   500.4   5405.6
劑量組5   4   2880   733.5   5026.5
劑量組5   5   2593   632.6   4553.4
劑量組5   6   2200   642.6   3757.4
劑量組5   8   1941   488.8   3393.2
劑量組5   10   1896   547.8   3244.2
劑量組5   24   1095   162.49   2027.51
劑量組5   48   421.4   100.4   742.4
劑量組5   72   145   16.36   273.64
劑量組5   96   69.63   9.012   130.248
;
run;

/*調整數(shù)據(jù)集*/
data test3;
      merge test2 test2(where=(ATPTN le 10) rename=(Mean=Mean2 Meanlow=Meanlow2 Meanhig=Meanhig2));
      by ARMCD ATPTN;
run;

proc template;
      define statgraph tmp4;
            dynamic XAXISLABEL YVAR XVAR GRPVAR LENGEDTITLE TICKMIN TICKMAX TICKMAX2;
            begingraph;
                  discreteattrmap name="symbols" / ignorecase=true;
                      value "劑量組1" / markerattrs=(symbol=triangleFilled color=blue size=9 transparency = 0.6) lineattrs=(color=blue THICKNESS=0.5 PATTERN=4) TEXTATTRS=(size = 11pt  family='Times New Roman');
                      value "劑量組2" / markerattrs=(symbol=circleFilled color=green size=9 transparency = 0.6) lineattrs=(color=green THICKNESS=0.5 PATTERN=4) ;
                        value "劑量組3" / markerattrs=(symbol=squareFilled color=firebrick size=9 transparency = 0.6) lineattrs=(color=firebrick THICKNESS=0.5 PATTERN=4);
                        value "劑量組4" / markerattrs=(symbol=HomeDownFilled color=Purple size=9 transparency = 0.6) lineattrs=(color=Purple THICKNESS=0.5 PATTERN=4);
                        value "劑量組5" / markerattrs=(symbol=StarFilled color=Orange size=9 transparency = 0.6) lineattrs=(color=Orange THICKNESS=0.5 PATTERN=4);
                  enddiscreteattrmap;
                  discreteattrvar attrvar=groupmarkers var=GRPVAR attrmap="symbols";

                              layout overlay/
                                    xaxisopts=(label=XAXISLABEL  offsetmin=0 offsetmax=0
                                          linearopts=(tickvaluelist=(1 4 8 10 24 48 72 96) viewmin=TICKMIN viewmax=TICKMAX TICKVALUEFITPOLICY=ROTATE)
                                          tickvalueattrs=(size=7pt) labelattrs=(size=7pt))
                              yaxisopts=(label="Concentration (ng/mL)" TYPE=LINEAR) ;
                                    seriesplot y=YVAR x=XVAR / group=groupmarkers name="scatter";
                                    scatterplot y=YVAR x=XVAR / group=groupmarkers name="scatter2"
                                          YERRORLOWER=meanlow YERRORUPPER=meanhig  ERRORBARATTRS=(THICKNESS=0.5 PATTERN=4);

                                    layout gridded / width=400px height=300px halign=right valign=top;
                                          layout overlay/
                                                xaxisopts=(label=XAXISLABEL  offsetmin=0 offsetmax=0
                                                      linearopts=(tickvaluelist=(1 2 3 4 6 8 10) viewmin=TICKMIN viewmax=TICKMAX2 TICKVALUEFITPOLICY=ROTATE)
                                                      tickvalueattrs=(size=7pt) labelattrs=(size=7pt))
                                          yaxisopts=(label="Concentration (ng/mL)" TYPE=LINEAR) ;
                                                seriesplot y=Mean2 x=XVAR / group=groupmarkers ;
                                                scatterplot y=Mean2 x=XVAR / group=groupmarkers
                                                      YERRORLOWER=meanlow2 YERRORUPPER=meanhig2 ERRORBARATTRS=(THICKNESS=0.5 PATTERN=4);
                                          endlayout;
                                  endlayout;
                                  mergedlegend "scatter" "scatter2"/title=LENGEDTITLE across=5 DISPLAYCLIPPED=TRUE;
                              endlayout;
            endgraph;
      end;
run;

ods graphics on /width=800px height=400px;

proc sgrender data=test3 template=tmp4 ;
      dynamic XAXISLABEL='Time(h)' YVAR='Mean' XVAR='ATPTN' LENGEDTITLE='劑量組:' GRPVAR='ARMCD' TICKMIN='0.5' TICKMAX='100' TICKMAX2='12';
run;




PART 05

GTL繪圖小結


GTL語言具有非常豐富的功能,能夠實現(xiàn)復雜的圖形繪制。僅以本文的藥時曲線為例,其實在美觀性的提升上仍有較大空間。


了解GTL的原理,熟練掌握layout的使用,在實踐中不斷學習、積累和探索,才能繪制更美觀更簡潔的圖形!


PART 06

結束語


熙寧生物|精翰生物已完成臨床藥理服務平臺搭建,正式提供PK、PD、ADA、PK/PD等不同類型臨床項目的統(tǒng)計分析服務。


其中統(tǒng)計編程團隊具有豐富的統(tǒng)計編程經(jīng)驗,可完成符合CDISC標準的SDTM/ADaM數(shù)據(jù)集及其相關表格、圖表和列表,與生物分析結合形成一站式服務,歡迎大家后臺留言咨詢交流。


參考文獻

[1] 國家藥品監(jiān)督管理局,藥物臨床試驗數(shù)據(jù)遞交指導原則(試行),2020年第16號.

專屬客服
免費通話
表單填寫
回到頂部
欧美激情婬妇A片AAA毛多水多 | 性欧美在线视频免费 | 成人午夜免费福利视频 | 日韩午夜视频在线观看 | 欲www国产精品久久久 | 亚洲综合激情五月久久 | 仙踪林国产成人抽搐精品 | 少妇高潮喷水尖叫抽搐 | 一牛影视制作官方网站 | 国产精品羞羞无码久久久 | 91黄色视频在线免费看 | 久久91精品—久久仙踪林 | 亚州精品一区二区视频网站 | 中国一级毛片一级久久毛片 | 少妇做爰免费8级A片 | 免费看美女30分钟 | 亚洲国产另类无码日韩 | 日本高清人妻少妇视频免费观看 | 永久免费精品精品永久-夜色 | 国语熟妇乱人乱A片久久 | 免费看黄网站在线放 | 91在线无码精品秘 入口不卡 | 国产av永久网站 | 国产成人a亚洲精品无 | 人妻激情综合久久久久 | 久久精品99久久久久 | 国产精品大片1区2区3区 | 黄色性片免费在线观看 | 特级西西4444日本少妇 | 国产精品成人在线观看 | 无毛国产aaaaaa | 九色视频这里只有精品 | 2019中文字幕在线电视剧免费观看 | 中文字幕无码在线 | 美女淫荡视频网站免费观看 | 女人做爰高潮A片免费 | 成年人视频免费在线观看 | 五月婷婷开心激情网 | 嫩草午夜少妇在线影视 | 电车痴汉五十路熟妇 | 国产互换人妻XXXX69张雅丹 |