Hello,

I have a question about nested design and model.matrix in limma (one channel
arrays).

In this design, each value of variable "source" is nested in (found in
combination with only one value of) another variable "type". The interesting
contrast is type A vs type B. The complete factorial design is unfortunately
not possible to achieve because of biological constraints.

Simplest example:

> targets<-readTargets("targets.txt")
> targets
  type source
1    A      1
2    A      2
3    B      3
4    B      4
> type<-factor(targets$type)
> source<-factor(targets$source)

I have tried two ways of model.matrix:

1)
> design<-model.matrix(~type/source)

2)
> contrasts(type)<-contr.sum(length(levels(type)))
> contrasts(source)<-contr.sum(length(levels(source)))
> design<-model.matrix(~type/source)

In both cases, the coefficients are not estimable for some combination of
factors.

If I use:

> design<-design[,apply(design,2,sum)>0]

to remove columns of the design matrix containing all zero (combinations of
factors that are not included in the design), there is still one combination
for which the coefficients are not estimable (although this combinations
does exist).

> fit<-lmFit(eset,design)
Coefficients not estimable: typeX:sourceY
Warning message:
Partial NA coefficients for n probe(s)

> ebayes<-eBayes(fit)
Warning message:
In ebayes(fit = fit, proportion = proportion, stdev.coef.lim =
stdev.coef.lim) :
Estimation of var.prior failed - set to default value

I am not sure how to address this issue.

Thanks much for your help.

	[[alternative HTML version deleted]]

