4.1 years ago by
If you are going to fit a conventional linear model, you should not constrain the intercept to zero (which is what you are doing). If you were to do such a thing, you are in effect saying that the expression for all of your genes at birth should be equal to zero, which is only true for zombie babies.
Instead you should do
design <- model.matrix(~AGE, df)
topTable(fit, 2, <other args you like>)
And then your logFC column will be the slope of the line, correlating age and gene expression. The p-value will test the hypotheses Ho: slope == 0 vs Ha: slope != 0.
But do note that this linear model assumes that the expression is a linear function of age, which may not be true, especially if you have a wide range of ages. In which case you might want a quadratic term as well, but that can make interpretation tricky.
As for 'strength of correlation of size of slope', I am not sure that's a thing. You can test that the slope is not equal to zero, or you could use treat() and require that the slope be greater than some value that you think is the limit of biological meaningfulness (which seems like it shouldn't be a word, yet is). But in the microarray context, there isn't much else you can do.
I suppose you could look at individual genes using lm() and associated model diagnostics, but I would normally wait for the validation stage for that sort of thing.