Question: R LIMMA Longitudinal analysis adjusting for continuous variables
0
gravatar for robert.maughan
3.4 years ago by
Ireland
robert.maughan0 wrote:

Hi,

I'm analysing a longitudinal gene expression qPCR array study in LIMMA. I have 3 groups with baseline and week 48 measurements. I also have 2 confounding baseline continuous variables that I would like to include in the model.

I found something similar discussed here: https://stat.ethz.ch/pipermail/bioconductor/2013-October/055651.html

But I'm not sure if their confounding variable CES is of the same nature as mine, i.e. only a baseline measure. Also this type of analysis is different to many of the less complex studies I've done previously - so I thought I'd check.

Nevertheless I've conducted the analysis as follows and would like to make sure that I'm on the right path.

design<-model.matrix(~0+time:treatment+confounder1+confounder2)

colnames(design2)[3:8]<-c("t1wk0","t1wk48","t2wk0", "t2wk48", "t3wk0","t3wk48")
#produces a design matrix that looks like:
      VL       TotChol t1wk0 t1wk48 t2wk0 t2wk48 t3wk0 t3wk48
1  4.611723     5.1     1      0     0      0     0      0
2  5.752048     4.9     1      0     0      0     0      0
3  3.763428     4.9     1      0     0      0     0      0
4  5.328380     5.4     1      0     0      0     0      0
5  5.419956     5.1     1      0     0      0     0      0
6  4.970347     4.7     0      0     1      0     0      0
7  5.651278     3.5     0      0     0      0     1      0
8  3.857935     4.7     1      0     0      0     0      0
9  5.260071     2.6     0      0     0      0     1      0
..........................................................

corfit <- duplicateCorrelation(eset,design2,block=patient)
corfit$consensus
#where patient is a categorical variable denoting which patient is which#

fit_adj<-lmFit(eset,design,block=patient,correlation=corfit$consensus)
fit_adj<-eBayes(fit_adj)

#Then pull out the comparisons of interests with specific contrasts:
con.t1w48<-makeContrasts(t1wk48-t1wk0, levels=design)
#etc

In previous studies I've included patient directly in the model but this wouldn't work here as I think it's confounded with the confounders so I'm forced to use duplicateCorrelation here. I'm also concerned that the value of the baseline confounding variables will be repeating in the model for both wk0 and wk48 arrays for a patient, will this interfere with the analysis?

Thanks

limma confounding longitudinal R • 1.9k views
ADD COMMENTlink modified 3.2 years ago by andrew.j.skelton735.5k • written 3.4 years ago by robert.maughan0
0
gravatar for andrew.j.skelton73
3.2 years ago by
London
andrew.j.skelton735.5k wrote:

I'd advise you cross post this to Bioconductor support (sorry, I know the mods don't like that, but you'll probably get a better answer by Arron Lun, or Gordon Smyth). 

As for your initial design, I know that just leaving an interaction term, with control variables will not give you the desired effect you want - You're assuming that at time 0, gene expression is 0. I'd do:

treatment + time + treatment:time + confounder1 + confounder2 

or

treatment * time + confounder1 + confounder2
ADD COMMENTlink written 3.2 years ago by andrew.j.skelton735.5k
Can you explain the difference between the two designs?
ADD REPLYlink written 3.2 years ago by Antonio R. Franco4.0k

There is no difference between the two I listed:

A + B + A:B 

Is long hand notation for 

A * B
ADD REPLYlink written 3.2 years ago by andrew.j.skelton735.5k
Please log in to add an answer.

Help
Access

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.
Powered by Biostar version 2.3.0
Traffic: 1401 users visited in the last hour