Question: edge, timeseries analysis, model specification question
0
gravatar for warren.anderson
4.1 years ago by
European Union
warren.anderson0 wrote:

Hi,

I am seeking advise on model specification for a gene expression data set (24 genes) with the following covariates: age (n=5) and phenotype (n=2, control and disease). The samples are independent (one organ per animal). I would like to evaluate time-dependent (age-dependent) between class (between phenotype) gene expression differences. From the vignette, it appears that the following model specification is appropriate:

cov <- data.frame(tme=age, grp=phenotype)

null_model <- ~grp + ns(tme, df=4, intercept=F)

full_model <- ~grp + ns(tme, df=4, intercept=F) + (grp):ns(tme, df=4, intercept=F)

However, I recognize that this is the model specification for longitudinal sampling, as contrasted to independent sampling. 

Could someone please advise?

Thanks, Warren

timecourse fittimeseries edge • 619 views
ADD COMMENTlink modified 4.0 years ago by Andrew Bass0 • written 4.1 years ago by warren.anderson0
Answer: edge, timeseries analysis, model specification question
0
gravatar for Andrew Bass
4.0 years ago by
United States
Andrew Bass0 wrote:

Posting the response I gave through emails (in case someone else has a similar question):

Hi Warren,

I am a maintainer of edge and would be happy to help. There is a great discussion regarding the difference between longitudinal and independent sampling on page 12 (http://www.pnas.org/content/102/36/12837.full.pdf?with-ds=yes). To summarize, independent sampling is a special case of longitudinal sampling where each individual is sampled at one time point. So when we have longitudinal sampling and have observations at different time points for each individual, then we need to adjust the intercepts for the individuals (through the input "ind" in the "build_models" function). The point is that the model formulation remains the same:

- Between class differential expression

cov <- data.frame(tme=age, grp=phenotype)
null_model <- ~ns(tme, df=4, intercept=F)
full_model <- ~ns(tme, df=4, intercept=F) + grp

- Within class differential expression

cov <- data.frame(tme=age, grp=phenotype)
null_model <- ~grp + ns(tme, df=4, intercept=F)
full_model <- ~grp + ns(tme, df=4, intercept=F) + grp:ns(tme, df=4, intercept=F)

It's important to note that "df" should be chosen carefully by looking at the data. Please let me know if you have additional questions.

Andy

ADD COMMENTlink modified 4.0 years ago • written 4.0 years ago by Andrew Bass0

Hi Andy,

Could you provide a little more information about the basis for choosing df? I looked through the 2005 PNAS paper and its SI and didn't see a justification for using 2 df for the endotoxin analysis.For what it's worth, I'm doing a longitudinal time course qPCR experiment.

Thanks for any help.

 

Joe

ADD REPLYlink written 2.8 years ago by joe.d.moore.ii0
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 16.09
Traffic: 386 users visited in the last hour