BookmarkSubscribeRSS Feed
deleted_user
Not applicable
I am conducting an analysis on repeated measures data by using PROC MIXED with REPEATED statement.

I have an example coding available for a typical ‘drug test’ scenario below (i.e., various drugs tested on patients, and the patients’ heart rate monitored every hour):


proc mixed data = mydata;
class drug patient hour;
model heartrate = drug hour drug*hour;
repeated hour / subject=patient(drug) type=un;
run;


If instead, assuming you wanted to monitor the influence of various dosage of a given drug X (DOSE) hourly (HR) on patients (PAT) consisting of both genders (GEN), each having 3 weight categories (WC) as blocks. How do you properly modify the basic coding example provided above? I've wasted 3 days trying to get this right... Thanks for your help.
5 REPLIES 5
deleted_user
Not applicable
...of course, I'm still interested in the influence of drug dosage on the patients' heart rate (HEART).
SteveDenham
Jade | Level 19
The following code is untested. I assume that dose is categorical and fixed across drugs. If not, then see part 2.

proc mixed data = mydata;
class drug patient hour dose gen;
model heartrate = gen|drug|dose|hour;
repeated hour / subject=patient(drug) type=un;
run;

If dose is continuous and varies by type of drug then:
proc mixed data = mydata;
class drug patient hour gen;
model heartrate = gen|drug|hour dose drug*dose;
repeated hour / subject=patient(drug) type=un;
lsmeans gen|drug|hour/at dose={insert value of interest};
run;

These should provide a good start, but it may be that the covariance structure contains too many parameters, in which case an autoregressive or spatial power structure might be more usable.

Steve Denham
deleted_user
Not applicable
Hi Steve,

Thanks so much for taking time to help me out (yet again!). This certainly helps me greatly to have a good starting point. I’ll try it out and see what covariance structure works best etc. Best regards!
deleted_user
Not applicable
Hi Steve,

Could you kindly tell me how I would account for the 3 weight categories (blocks) in the coding version 1? Would I use the RANDOM statement??


proc mixed data = mydata;
class drug patient hour dose gen;
model heartrate = gen|drug|dose|hour;
repeated hour / subject=patient(drug) type=un;
run;


Thanks!
deleted_user
Not applicable
Hi Steve, I tried modifying the base code you have posted for me in order to account for the blocking effect. I am not confident of the changes I have made though…how does it look? Thanks!

Scenario (just as a reminder):
A specific drug X is administered to patients at various dosages (DOSE), and the change in patients’ heart rates is monitored hourly (PATIENT, HEARTRATE, and TIME). Men and women are tested separately (GENDER). Also, prior to assigning patients to a certain dosage, three weight categories (BLOCK) are created. From all weight categories, equal number of patients is assigned to a certain dosage.


proc mixed data=mydata;
class dose patient time gender block;
model heartrate= dose|time|gender;
random block;
repeated time /subject=patient(dose*gender*block) type=un;
run;


(As this thread is getting longer, I’ll start a new one with this post)

sas-innovate-2024.png

Join us for SAS Innovate April 16-19 at the Aria in Las Vegas. Bring the team and save big with our group pricing for a limited time only.

Pre-conference courses and tutorials are filling up fast and are always a sellout. Register today to reserve your seat.

 

Register now!

What is Bayesian Analysis?

Learn the difference between classical and Bayesian statistical approaches and see a few PROC examples to perform Bayesian analysis in this video.

Find more tutorials on the SAS Users YouTube channel.

Click image to register for webinarClick image to register for webinar

Classroom Training Available!

Select SAS Training centers are offering in-person courses. View upcoming courses for:

View all other training opportunities.

Discussion stats
  • 5 replies
  • 1036 views
  • 1 like
  • 2 in conversation