UCLA Academic Technology Services HomeServicesClassesContactJobs
Search

SAS Textbook Examples
Modeling Longitudinal Data by Robert Weiss
Chapter 3: Simple Analyses

Figure 3.1, page 87.

(a)

proc print data = pain;
  where paintol = .;
run;

data pain; set pain;
  where id not in (4, 18, 20, 33, 42, 44);
run;

proc sort data = pain;
  by id cs; 
run;

proc means data = pain;
  where trial ne 4;
  by id cs;
  var l2paintol;
  output out = pain2;
run;

data pain2; set pain2;
  if _STAT_ = "MEAN";
  rename _STAT_ = l2paintol;
  keep l2paintol id cs;
run;

proc univariate data = pain2 noprint;
  where cs = "attender"; 
  histogram l2paintol /  midpoints=3.167 to 7.833 by .333 vscale = count;
run;

(b)

proc univariate data = pain2 noprint;
 where cs = "distracter"; 
 histogram l2paintol /  midpoints=3.167 to 7.833 by .333 vscale = count;
run;

Table 3.1, page 88.

proc ttest data = pain2;
  class cs;
  var l2paintol;
run;
The TTEST Procedure

                                           Statistics

                              Lower CL          Upper CL  Lower CL           Upper CL
Variable   cs              N      Mean    Mean      Mean   Std Dev  Std Dev   Std Dev  Std Err

l2paintol  attender       29    4.1384   4.473    4.8075    0.6979   0.8795    1.1895   0.1633
l2paintol  distracter     29    4.6601  5.0762    5.4923    0.8681   1.0939    1.4794   0.2031
l2paintol  Diff (1-2)           -1.125  -0.603    -0.081    0.8379   0.9925    1.2175   0.2606

                               T-Tests

Variable     Method           Variances      DF    t Value    Pr > |t|

l2paintol    Pooled           Equal          56      -2.31      0.0243
l2paintol    Satterthwaite    Unequal      53.5      -2.31      0.0245

                    Equality of Variances

Variable     Method      Num DF    Den DF    F Value    Pr > F

l2paintol    Folded F        28        28       1.55    0.2544

Table 3.2, page 89.

data transform;
  input l2seconds;
  datalines;
  .6
  .88
  1.09
  4.47
  5.08
  3
  4
  5
  6
  7
  8
  ;
run;

data transform; set transform;
  seconds = 2 ** l2seconds;
run;

proc print data = transform;
run;
Obs    l2seconds    seconds

  1       0.60        1.516
  2       0.88        1.840
  3       1.09        2.129
  4       4.47       22.162
  5       5.08       33.825
  6       3.00        8.000
  7       4.00       16.000
  8       5.00       32.000
  9       6.00       64.000
 10       7.00      128.000
 11       8.00      256.000

Figure 3.2, page 90.

(a) Follows formula from page 89

proc means data = pain;
  var l2paintol trial;
run;

data pain; set pain;
  ystar = l2paintol - 4.7730379;
  tstar = (trial - 2.5);
  tstar2 = (tstar) * (tstar);
  ytstar = ystar * tstar;
run;

proc sort data = pain;
  by id treatment cs;
run;

proc means data = pain sum;
	by id treatment cs;
	var ytstar tstar2;
	output out = pain3;
run;

data pain3; set pain3;
  where _STAT_ = "MEAN";
  drop _FREQ_ _STAT_ _TYPE_;
  ytstar = 4 * ytstar;
  tstar2 = 4 * tstar2;
  slope = ytstar / tstar2;
run;

proc univariate data = pain3 noprint;
  where cs = "attender"; 
  histogram slope / midpoints=-.9375 to 0.9375 by .125  vscale = count RTINCLUDE;
run;

(b)

proc univariate data = pain3 noprint;
  where cs = "distracter"; 
  histogram slope / midpoints=-.9375 to 0.9375 by .125  vscale = count RTINCLUDE;
run;

Table 3.3, page 90.

proc ttest data = pain3;
  class cs;
  var slope;
run; 
The TTEST Procedure

                                          Statistics

                             Lower CL          Upper CL  Lower CL           Upper CL
Variable  cs              N      Mean    Mean      Mean   Std Dev  Std Dev   Std Dev  Std Err

slope     attender       29    -0.109  -0.017    0.0739    0.1904   0.2399    0.3245   0.0446
slope     distracter     29    -0.187  -0.046    0.0959    0.2954   0.3722    0.5034   0.0691
slope     Diff (1-2)           -0.136  0.0283     0.193    0.2644   0.3131    0.3841   0.0822

                               T-Tests

Variable    Method           Variances      DF    t Value    Pr > |t|

slope       Pooled           Equal          56       0.34      0.7324
slope       Satterthwaite    Unequal      47.8       0.34      0.7326

                    Equality of Variances

Variable    Method      Num DF    Den DF    F Value    Pr > F

slope       Folded F        28        28       2.41    0.0234

Figure 3.3, page 91.

data pain3; set pain3;
  if cs = "attender" then do;
    if treatment = "attend" then cst = "AA";
    else if treatment = "distract" then cst = "AD";
    else cst = "AN";
  end;
  if cs = "distracter" then do;
    if treatment = "attend" then cst = "DA";
    else if treatment = "distract" then cst = "DD";
    else cst = "DN";
  end;
run;
	
proc sort data = pain3;
  by cst;
run;

proc boxplot data = pain3;
  plot slope * cst;
run;

Table 3.4, page 92.

data t2; set pain;
  where trial = 2;
  keep id cs treatment l2paintol;
run;

data t4; set pain;
  where trial = 4;
  keep id cs treatment l2paintol;
run;

data t2; set t2; 
  rename l2paintol = l2pt2;
run;

data t4; set t4;
  rename l2paintol = l2pt4;
run;

proc sort data = t2; 
  by id;
run;

proc sort data = t4;
  by id; 
run;

data pain24; merge t2 t4;
  by id;
  if cs = "attender" then do;
    if treatment = "attend" then cst = "AA";
    else if treatment = "distract" then cst = "AD";
    else cst = "AN";
  end;
  if cs = "distracter" then do;
    if treatment = "attend" then cst = "DA";
    else if treatment = "distract" then cst = "DD";
    else cst = "DN";
  end;
run;

proc sort data = pain24;
  by cst;
run;

proc ttest data = pain24;
  paired l2pt4 * l2pt2;
  by cst;
run;

[...output omitted...]

Figure 3.4, page 93.

data pain24; set pain24;
  diff = l2pt4 - l2pt2;
run;

proc sort data = pain24;
  by cst; 
run;

proc boxplot data = pain24;
  plot diff * cst;
run;

Table 3.5, page 93.

data AAAN DDDN; set pain24;
  if cst in ("AA" "AN") then output AAAN;
  if cst in ("DD" "DN") then output DDDN;
run;

proc ttest data = AAAN;
  class CST;
  var diff;
run;
The TTEST Procedure

                                          Statistics

                             Lower CL          Upper CL  Lower CL           Upper CL
Variable  cst             N      Mean    Mean      Mean   Std Dev  Std Dev   Std Dev  Std Err

diff      AA             10    -0.445  0.1819    0.8085    0.6025   0.8759     1.599    0.277
diff      AN              9    -0.393  0.0284    0.4501    0.3706   0.5486     1.051   0.1829
diff      Diff (1-2)           -0.564  0.1536     0.871    0.5554   0.7401    1.1096   0.3401

                               T-Tests

Variable    Method           Variances      DF    t Value    Pr > |t|

diff        Pooled           Equal          17       0.45      0.6573
diff        Satterthwaite    Unequal      15.3       0.46      0.6501

                    Equality of Variances

Variable    Method      Num DF    Den DF    F Value    Pr > F

diff        Folded F         9         8       2.55    0.2022
proc ttest data = DDDN;
  class CST;
  var diff;
run;
The TTEST Procedure

                                          Statistics

                             Lower CL          Upper CL  Lower CL           Upper CL
Variable  cst             N      Mean    Mean      Mean   Std Dev  Std Dev   Std Dev  Std Err

diff      DD             11    0.0682  0.7153    1.3625    0.6731   0.9633    1.6906   0.2905
diff      DN              8      -1.8  -0.679    0.4427    0.8868   1.3413    2.7299   0.4742
diff      Diff (1-2)            0.282   1.394    2.5061    0.8512   1.1343    1.7005   0.5271

                               T-Tests

Variable    Method           Variances      DF    t Value    Pr > |t|

diff        Pooled           Equal          17       2.64      0.0170
diff        Satterthwaite    Unequal        12       2.51      0.0275

                    Equality of Variances

Variable    Method      Num DF    Den DF    F Value    Pr > F

diff        Folded F         7        10       1.94    0.3303
[http://www.ats.ucla.edu/stat/sas/footer.htm]