tlc trial example

Upload: xi-chen

Post on 06-Mar-2016

247 views

Category:

Documents


0 download

DESCRIPTION

TLC Trial Example

TRANSCRIPT

The Treatment of Lead-Exposed Children (TLC) Trial example is described in Chapter 1 of your text. In short, children who had high blood lead levels were randomized to receive a placebo (control group) or a new chelating agent, succimer (treatment/intervention group). Children were followed over time, and blood lead levels (outcome, or dependent variable) were recorded at baseline, week 1, week 4, and week 6. The overall goal is to determine if succimer is effective at decreasing blood lead levels. We also expect placebo to have negligible impact on blood lead levels. Therefore, we want to compare treatment and control subjects over time. Due to the randomization of a relatively large number of subjects, there should be no difference between the groups at baseline.

We have a dataset of 100 subjects. Here is what the top part (first 10 subjects) of it looks like. Note that this is not the proper setup for the dataset when we actually analyze the data. You will learn how to set up the dataset later. Here, we have one observation per subject. Subject id is denoted by id. Treatment type, P-placebo or A-succimer (note that ids do not match up with the ids in Table 1.1 of your book, and your book has S for succimer, not A), denoted by trt. Blood lead level values (outcomes / dependent variable) are given by y0, y1, y4, and y6 for baseline, week 1, week 4, and week 6, respectively.

proc print data=long.tlc; run;Obsidtrty0y1y4y6

11P30.826.925.823.8

22A26.514.819.521.0

33A25.823.019.123.2

44P24.724.522.022.5

55A20.42.83.29.4

66A20.45.44.511.9

77P28.620.819.218.4

88P33.731.628.525.1

99P19.714.915.314.7

1010P31.131.229.230.1

/*Descriptive statistics. First need to sort by treatment type.*/proc sort data=long.tlc; by trt; run;proc means data=long.tlc; var y0 y1 y4 y6; by trt;run;

trt=AVariableNMeanStd DevMinimumMaximum

y0

y1

y4

y6

50

50

50

50

26.5400000

13.5220000

15.5140000

20.7620000

5.0209358

7.6724870

7.8522065

9.2463316

19.7000000

2.8000000

3.0000000

4.1000000

41.1000000

39.0000000

40.4000000

63.9000000

trt=PVariableNMeanStd DevMinimumMaximum

y0

y1

y4

y6

50

50

50

50

26.2720000

24.6600000

24.0700000

23.6460000

5.0241068

5.4611803

5.7531269

5.6398079

19.7000000

14.9000000

15.3000000

13.5000000

38.1000000

40.8000000

38.6000000

43.3000000

/*Creating a dataset with the means*/data means_data; input Treatment Time Mean;cards;0 0 26.30 1 24.70 4 24.10 6 23.61 0 26.51 1 13.11 4 15.51 6 20.8;run;

/*Plotting the sample means by group across time. Same type of plot as Figure 1.1 in your text.*/goptions reset=all gunit=pct cback=white colors=(black) border ftext=zapf htext=4;title 'Estimated Mean Time Trend for Blood Lead Levels by Trial Arm';symbol1 color=red interpol=join width=1 line=1 value=dot;symbol2 color=blue interpol=join width=1 line=2 value=dot;legend1 label=('Legend') frame position=(top right inside) /*value=(font=swiss)*/ mode=protect value=('Placebo' 'Succimer') across=1;axis1 value=(font=swiss) major=(height=2 width=2) minor=(height=1) label= (height=2 font=swiss 'Time (Weeks)') width=2;axis2 value=(font=swiss) major=(height=2 width=2) minor=(height=1) label= (height=2 font=swiss 'Estimated Mean Blood Lead Levels') width=2;proc gplot data=means_data;plot Mean*Time=Treatment/legend=legend1 haxis=axis1 vaxis=axis2;run;quit;

Sample means are approximately the same at baseline due to randomization working well. There is little change over time in the placebo group. There is a large change from baseline to week 1 in the treatment group, but then the mean increases over time. Your book explains that this rebound in blood lead levels is due to the mobilization of lead that has been stored in tissues and bones.

Now lets look at a plot of the trajectories of several subjects over time. This is called a spaghetti plot. First, we need to set up the data in a manner that we can make this plot.

/*Suppose we want to produce a spaghetti plot. We first need to setup the data so we can make this plot. Note that the data needs to be setup in a manner that we can also analyze the data. To do this, we need one new column that denotes time, and a single column with corresponding outcome values. This SAS code is based on the code in Table 5.10 (page 137) of your text.*/data tlc; set long.tlc; y=y0; time=0; output; /*Observation for baseline*/ y=y1; time=1; output; /*Observation for Week 1*/ y=y4; time=4; output; /*Observation for Week 4*/ y=y6; time=6; output; /*Observation for Week 6*/ drop y0 y1 y4 y6;run;proc print data=tlc; run;

Obsidtrtytime

12A26.50

22A14.81

32A19.54

42A21.06

53A25.80

63A23.01

73A19.14

83A23.26

/*Plotting the trajectories for the first four treatment subjects (2, 3, 5, and 6)*/goptions reset=all gunit=pct cback=white colors=(black) border ftext=zapf htext=2.5;title 'Time Trends for Blood Lead Levels for Select Subjects';symbol1 color=red interpol=join width=1 line=1 value=dot;symbol2 color=blue interpol=join width=1 line=2 value=dot;symbol3 color=black interpol=join width=1 line=1 value=dot;symbol4 color=purple interpol=join width=1 line=2 value=dot;legend1 label=('Legend') frame position=(top right inside) mode=protect value=('ID 2' 'ID 3' 'ID 5' 'ID 6') across=1;axis1 value=(font=swiss) major=(height=2 width=2) minor=(height=1) label= (height=2 font=swiss 'Time (Weeks)') width=2;axis2 value=(font=swiss) major=(height=2 width=2) minor=(height=1) label= (height=2 font=swiss 'Blood Lead Levels') width=2;proc gplot data=tlc; plot y*time=id/legend=legend1 haxis=axis1 vaxis=axis2; where id