[BioC] help with limma design, contrast matrices

Ryan C. Thompson rct at thompsonclan.org
Thu Oct 31 23:02:07 CET 2013


Your design should be a data frame with two columns: a "treatment" 
column that is a factor with 4 levels, and a "colony" column that is a 
factor with 6 levels. Let's call this data frame "df". You can then 
make your design matrix like this:

design <- model.matrix(~ treatment + colony, df)

assuming that you are treating "colony" as a blocking factor. You can 
try other formulas as well, but putting your experimental design as a 
data frame with two factor columns gives you the best representation of 
the design.

-Ryan

On Thu 31 Oct 2013 02:23:42 PM PDT, Lisa Cohen wrote:
> I have a set of microarray data (one-channel custom Agilent) that I'm
> trying to analyze for gene expression differences following an experiment:
>
> Sponges were acutely exposed to combinations of oil and dispersant
> treatments. There were 4 treatment groups: OD, OC, UD, UC, 6 sponge
> colonies each fragmented 12 times, with three replicates = 72 samples total.
>
> I found some examples from the limma user's guide and other materials, but
> I'm still having trouble.
> http://www.bioconductor.org/help/course-materials/2009/BioC2009/labs/limma/limma.pdf
> https://stat.ethz.ch/pipermail/bioconductor/2012-January/043154.html
> http://www.bioconductor.org/packages/2.12/bioc/vignettes/limma/inst/doc/usersguide.pdf
>
> In coding my contrast and design matrices, I'm confused and wondering if
> someone can help?
>
> Details and code below.
>
> Thank you in advance!
>
> Lisa
>
>
>
>
> This is the design matrix I set up:
>
>> v<-c(0,1)
>> mat<-cbind(c(rep(v[2],18),rep(v[1],54)),
> +              c(rep(v[1],18),rep(v[2],18),rep(v[1],36)),
> +              c(rep(v[1],36),rep(v[2],18),rep(v[1],18)),
> +              c(rep(v[1],54),rep(v[2],18)),
> +              c(rep(1:6,12)))
>> colnames(mat)<-c("UC","UD","OC","OD","Colony")
>
>> mat
>        UC UD OC OD Colony
>   [1,]  1  0  0  0      1
>   [2,]  1  0  0  0      2
>   [3,]  1  0  0  0      3
>   [4,]  1  0  0  0      4
>   [5,]  1  0  0  0      5
>   [6,]  1  0  0  0      6
>   [7,]  1  0  0  0      1
>   [8,]  1  0  0  0      2
>   [9,]  1  0  0  0      3
> [10,]  1  0  0  0      4
> [11,]  1  0  0  0      5
> [12,]  1  0  0  0      6
> [13,]  1  0  0  0      1
> [14,]  1  0  0  0      2
> [15,]  1  0  0  0      3
> [16,]  1  0  0  0      4
> [17,]  1  0  0  0      5
> [18,]  1  0  0  0      6
> [19,]  0  1  0  0      1
> [20,]  0  1  0  0      2
> [21,]  0  1  0  0      3
> [22,]  0  1  0  0      4
> [23,]  0  1  0  0      5
> [24,]  0  1  0  0      6
> [25,]  0  1  0  0      1
> [26,]  0  1  0  0      2
> [27,]  0  1  0  0      3
> [28,]  0  1  0  0      4
> [29,]  0  1  0  0      5
> [30,]  0  1  0  0      6
> [31,]  0  1  0  0      1
> [32,]  0  1  0  0      2
> [33,]  0  1  0  0      3
> [34,]  0  1  0  0      4
> [35,]  0  1  0  0      5
> [36,]  0  1  0  0      6
> [37,]  0  0  1  0      1
> [38,]  0  0  1  0      2
> [39,]  0  0  1  0      3
> [40,]  0  0  1  0      4
> [41,]  0  0  1  0      5
> [42,]  0  0  1  0      6
> [43,]  0  0  1  0      1
> [44,]  0  0  1  0      2
> [45,]  0  0  1  0      3
> [46,]  0  0  1  0      4
> [47,]  0  0  1  0      5
> [48,]  0  0  1  0      6
> [49,]  0  0  1  0      1
> [50,]  0  0  1  0      2
> [51,]  0  0  1  0      3
> [52,]  0  0  1  0      4
> [53,]  0  0  1  0      5
> [54,]  0  0  1  0      6
> [55,]  0  0  0  1      1
> [56,]  0  0  0  1      2
> [57,]  0  0  0  1      3
> [58,]  0  0  0  1      4
> [59,]  0  0  0  1      5
> [60,]  0  0  0  1      6
> [61,]  0  0  0  1      1
> [62,]  0  0  0  1      2
> [63,]  0  0  0  1      3
> [64,]  0  0  0  1      4
> [65,]  0  0  0  1      5
> [66,]  0  0  0  1      6
> [67,]  0  0  0  1      1
> [68,]  0  0  0  1      2
> [69,]  0  0  0  1      3
> [70,]  0  0  0  1      4
> [71,]  0  0  0  1      5
> [72,]  0  0  0  1      6
>
> What is the role of the contrast matrix?
>
> When I set up model.matrix(), there are too many comparisons:
>
>> design<-model.matrix(~factor(mat))
>> design
>      (Intercept) factor(mat)1 factor(mat)2 factor(mat)3 factor(mat)4
> factor(mat)5 factor(mat)6
> 1             1            1            0            0
> 0            0            0
> 2             1            1            0            0
> 0            0            0
> 3             1            1            0            0
> 0            0            0
> 4             1            1            0            0
> 0            0            0
> 5             1            1            0            0
> 0            0            0
> 6             1            1            0            0
> 0            0            0
> 7             1            1            0            0
> 0            0            0
> 8             1            1            0            0
> 0            0            0
> 9             1            1            0            0
> 0            0            0
> 10            1            1            0            0
> 0            0            0
> 11            1            1            0            0
> 0            0            0
> 12            1            1            0            0
> 0            0            0
> 13            1            1            0            0
> 0            0            0
> 14            1            1            0            0
> 0            0            0
> 15            1            1            0            0
> 0            0            0
> 16            1            1            0            0
> 0            0            0
> 17            1            1            0            0
> 0            0            0
> 18            1            1            0            0
> 0            0            0
> 19            1            0            0            0
> 0            0            0
> 20            1            0            0            0
> 0            0            0
> 21            1            0            0            0
> 0            0            0
> 22            1            0            0            0
> 0            0            0
> 23            1            0            0            0
> 0            0            0
> 24            1            0            0            0
> 0            0            0
> 25            1            0            0            0
> 0            0            0
> 26            1            0            0            0
> 0            0            0
> 27            1            0            0            0
> 0            0            0
> 28            1            0            0            0
> 0            0            0
> 29            1            0            0            0
> 0            0            0
> 30            1            0            0            0
> 0            0            0
> 31            1            0            0            0
> 0            0            0
> 32            1            0            0            0
> 0            0            0
> 33            1            0            0            0
> 0            0            0
> 34            1            0            0            0
> 0            0            0
> 35            1            0            0            0
> 0            0            0
> 36            1            0            0            0
> 0            0            0
> 37            1            0            0            0
> 0            0            0
> 38            1            0            0            0
> 0            0            0
> 39            1            0            0            0
> 0            0            0
> 40            1            0            0            0
> 0            0            0
> 41            1            0            0            0
> 0            0            0
> 42            1            0            0            0
> 0            0            0
> 43            1            0            0            0
> 0            0            0
> 44            1            0            0            0
> 0            0            0
> 45            1            0            0            0
> 0            0            0
> 46            1            0            0            0
> 0            0            0
> 47            1            0            0            0
> 0            0            0
> 48            1            0            0            0
> 0            0            0
> 49            1            0            0            0
> 0            0            0
> 50            1            0            0            0
> 0            0            0
> 51            1            0            0            0
> 0            0            0
> 52            1            0            0            0
> 0            0            0
> 53            1            0            0            0
> 0            0            0
> 54            1            0            0            0
> 0            0            0
> 55            1            0            0            0
> 0            0            0
> 56            1            0            0            0
> 0            0            0
> 57            1            0            0            0
> 0            0            0
> 58            1            0            0            0
> 0            0            0
> 59            1            0            0            0
> 0            0            0
> 60            1            0            0            0
> 0            0            0
> 61            1            0            0            0
> 0            0            0
> 62            1            0            0            0
> 0            0            0
> 63            1            0            0            0
> 0            0            0
> 64            1            0            0            0
> 0            0            0
> 65            1            0            0            0
> 0            0            0
> 66            1            0            0            0
> 0            0            0
> 67            1            0            0            0
> 0            0            0
> 68            1            0            0            0
> 0            0            0
> 69            1            0            0            0
> 0            0            0
> 70            1            0            0            0
> 0            0            0
> 71            1            0            0            0
> 0            0            0
> 72            1            0            0            0
> 0            0            0
> 73            1            0            0            0
> 0            0            0
> 74            1            0            0            0
> 0            0            0
> 75            1            0            0            0
> 0            0            0
> 76            1            0            0            0
> 0            0            0
> 77            1            0            0            0
> 0            0            0
> 78            1            0            0            0
> 0            0            0
> 79            1            0            0            0
> 0            0            0
> 80            1            0            0            0
> 0            0            0
> 81            1            0            0            0
> 0            0            0
> 82            1            0            0            0
> 0            0            0
> 83            1            0            0            0
> 0            0            0
> 84            1            0            0            0
> 0            0            0
> 85            1            0            0            0
> 0            0            0
> 86            1            0            0            0
> 0            0            0
> 87            1            0            0            0
> 0            0            0
> 88            1            0            0            0
> 0            0            0
> 89            1            0            0            0
> 0            0            0
> 90            1            0            0            0
> 0            0            0
> 91            1            1            0            0
> 0            0            0
> 92            1            1            0            0
> 0            0            0
> 93            1            1            0            0
> 0            0            0
> 94            1            1            0            0
> 0            0            0
> 95            1            1            0            0
> 0            0            0
> 96            1            1            0            0
> 0            0            0
> 97            1            1            0            0
> 0            0            0
> 98            1            1            0            0
> 0            0            0
> 99            1            1            0            0
> 0            0            0
> 100           1            1            0            0
> 0            0            0
> 101           1            1            0            0
> 0            0            0
> 102           1            1            0            0
> 0            0            0
> 103           1            1            0            0
> 0            0            0
> 104           1            1            0            0
> 0            0            0
> 105           1            1            0            0
> 0            0            0
> 106           1            1            0            0
> 0            0            0
> 107           1            1            0            0
> 0            0            0
> 108           1            1            0            0
> 0            0            0
> 109           1            0            0            0
> 0            0            0
> 110           1            0            0            0
> 0            0            0
> 111           1            0            0            0
> 0            0            0
> 112           1            0            0            0
> 0            0            0
> 113           1            0            0            0
> 0            0            0
> 114           1            0            0            0
> 0            0            0
> 115           1            0            0            0
> 0            0            0
> 116           1            0            0            0
> 0            0            0
> 117           1            0            0            0
> 0            0            0
> 118           1            0            0            0
> 0            0            0
> 119           1            0            0            0
> 0            0            0
> 120           1            0            0            0
> 0            0            0
> 121           1            0            0            0
> 0            0            0
> 122           1            0            0            0
> 0            0            0
> 123           1            0            0            0
> 0            0            0
> 124           1            0            0            0
> 0            0            0
> 125           1            0            0            0
> 0            0            0
> 126           1            0            0            0
> 0            0            0
> 127           1            0            0            0
> 0            0            0
> 128           1            0            0            0
> 0            0            0
> 129           1            0            0            0
> 0            0            0
> 130           1            0            0            0
> 0            0            0
> 131           1            0            0            0
> 0            0            0
> 132           1            0            0            0
> 0            0            0
> 133           1            0            0            0
> 0            0            0
> 134           1            0            0            0
> 0            0            0
> 135           1            0            0            0
> 0            0            0
> 136           1            0            0            0
> 0            0            0
> 137           1            0            0            0
> 0            0            0
> 138           1            0            0            0
> 0            0            0
> 139           1            0            0            0
> 0            0            0
> 140           1            0            0            0
> 0            0            0
> 141           1            0            0            0
> 0            0            0
> 142           1            0            0            0
> 0            0            0
> 143           1            0            0            0
> 0            0            0
> 144           1            0            0            0
> 0            0            0
> 145           1            0            0            0
> 0            0            0
> 146           1            0            0            0
> 0            0            0
> 147           1            0            0            0
> 0            0            0
> 148           1            0            0            0
> 0            0            0
> 149           1            0            0            0
> 0            0            0
> 150           1            0            0            0
> 0            0            0
> 151           1            0            0            0
> 0            0            0
> 152           1            0            0            0
> 0            0            0
> 153           1            0            0            0
> 0            0            0
> 154           1            0            0            0
> 0            0            0
> 155           1            0            0            0
> 0            0            0
> 156           1            0            0            0
> 0            0            0
> 157           1            0            0            0
> 0            0            0
> 158           1            0            0            0
> 0            0            0
> 159           1            0            0            0
> 0            0            0
> 160           1            0            0            0
> 0            0            0
> 161           1            0            0            0
> 0            0            0
> 162           1            0            0            0
> 0            0            0
> 163           1            0            0            0
> 0            0            0
> 164           1            0            0            0
> 0            0            0
> 165           1            0            0            0
> 0            0            0
> 166           1            0            0            0
> 0            0            0
> 167           1            0            0            0
> 0            0            0
> 168           1            0            0            0
> 0            0            0
> 169           1            0            0            0
> 0            0            0
> 170           1            0            0            0
> 0            0            0
> 171           1            0            0            0
> 0            0            0
> 172           1            0            0            0
> 0            0            0
> 173           1            0            0            0
> 0            0            0
> 174           1            0            0            0
> 0            0            0
> 175           1            0            0            0
> 0            0            0
> 176           1            0            0            0
> 0            0            0
> 177           1            0            0            0
> 0            0            0
> 178           1            0            0            0
> 0            0            0
> 179           1            0            0            0
> 0            0            0
> 180           1            0            0            0
> 0            0            0
> 181           1            1            0            0
> 0            0            0
> 182           1            1            0            0
> 0            0            0
> 183           1            1            0            0
> 0            0            0
> 184           1            1            0            0
> 0            0            0
> 185           1            1            0            0
> 0            0            0
> 186           1            1            0            0
> 0            0            0
> 187           1            1            0            0
> 0            0            0
> 188           1            1            0            0
> 0            0            0
> 189           1            1            0            0
> 0            0            0
> 190           1            1            0            0
> 0            0            0
> 191           1            1            0            0
> 0            0            0
> 192           1            1            0            0
> 0            0            0
> 193           1            1            0            0
> 0            0            0
> 194           1            1            0            0
> 0            0            0
> 195           1            1            0            0
> 0            0            0
> 196           1            1            0            0
> 0            0            0
> 197           1            1            0            0
> 0            0            0
> 198           1            1            0            0
> 0            0            0
> 199           1            0            0            0
> 0            0            0
> 200           1            0            0            0
> 0            0            0
> 201           1            0            0            0
> 0            0            0
> 202           1            0            0            0
> 0            0            0
> 203           1            0            0            0
> 0            0            0
> 204           1            0            0            0
> 0            0            0
> 205           1            0            0            0
> 0            0            0
> 206           1            0            0            0
> 0            0            0
> 207           1            0            0            0
> 0            0            0
> 208           1            0            0            0
> 0            0            0
> 209           1            0            0            0
> 0            0            0
> 210           1            0            0            0
> 0            0            0
> 211           1            0            0            0
> 0            0            0
> 212           1            0            0            0
> 0            0            0
> 213           1            0            0            0
> 0            0            0
> 214           1            0            0            0
> 0            0            0
> 215           1            0            0            0
> 0            0            0
> 216           1            0            0            0
> 0            0            0
> 217           1            0            0            0
> 0            0            0
> 218           1            0            0            0
> 0            0            0
> 219           1            0            0            0
> 0            0            0
> 220           1            0            0            0
> 0            0            0
> 221           1            0            0            0
> 0            0            0
> 222           1            0            0            0
> 0            0            0
> 223           1            0            0            0
> 0            0            0
> 224           1            0            0            0
> 0            0            0
> 225           1            0            0            0
> 0            0            0
> 226           1            0            0            0
> 0            0            0
> 227           1            0            0            0
> 0            0            0
> 228           1            0            0            0
> 0            0            0
> 229           1            0            0            0
> 0            0            0
> 230           1            0            0            0
> 0            0            0
> 231           1            0            0            0
> 0            0            0
> 232           1            0            0            0
> 0            0            0
> 233           1            0            0            0
> 0            0            0
> 234           1            0            0            0
> 0            0            0
> 235           1            0            0            0
> 0            0            0
> 236           1            0            0            0
> 0            0            0
> 237           1            0            0            0
> 0            0            0
> 238           1            0            0            0
> 0            0            0
> 239           1            0            0            0
> 0            0            0
> 240           1            0            0            0
> 0            0            0
> 241           1            0            0            0
> 0            0            0
> 242           1            0            0            0
> 0            0            0
> 243           1            0            0            0
> 0            0            0
> 244           1            0            0            0
> 0            0            0
> 245           1            0            0            0
> 0            0            0
> 246           1            0            0            0
> 0            0            0
> 247           1            0            0            0
> 0            0            0
> 248           1            0            0            0
> 0            0            0
> 249           1            0            0            0
> 0            0            0
> 250           1            0            0            0
> 0            0            0
> 251           1            0            0            0
> 0            0            0
> 252           1            0            0            0
> 0            0            0
> 253           1            0            0            0
> 0            0            0
> 254           1            0            0            0
> 0            0            0
> 255           1            0            0            0
> 0            0            0
> 256           1            0            0            0
> 0            0            0
> 257           1            0            0            0
> 0            0            0
> 258           1            0            0            0
> 0            0            0
> 259           1            0            0            0
> 0            0            0
> 260           1            0            0            0
> 0            0            0
> 261           1            0            0            0
> 0            0            0
> 262           1            0            0            0
> 0            0            0
> 263           1            0            0            0
> 0            0            0
> 264           1            0            0            0
> 0            0            0
> 265           1            0            0            0
> 0            0            0
> 266           1            0            0            0
> 0            0            0
> 267           1            0            0            0
> 0            0            0
> 268           1            0            0            0
> 0            0            0
> 269           1            0            0            0
> 0            0            0
> 270           1            0            0            0
> 0            0            0
> 271           1            1            0            0
> 0            0            0
> 272           1            1            0            0
> 0            0            0
> 273           1            1            0            0
> 0            0            0
> 274           1            1            0            0
> 0            0            0
> 275           1            1            0            0
> 0            0            0
> 276           1            1            0            0
> 0            0            0
> 277           1            1            0            0
> 0            0            0
> 278           1            1            0            0
> 0            0            0
> 279           1            1            0            0
> 0            0            0
> 280           1            1            0            0
> 0            0            0
> 281           1            1            0            0
> 0            0            0
> 282           1            1            0            0
> 0            0            0
> 283           1            1            0            0
> 0            0            0
> 284           1            1            0            0
> 0            0            0
> 285           1            1            0            0
> 0            0            0
> 286           1            1            0            0
> 0            0            0
> 287           1            1            0            0
> 0            0            0
> 288           1            1            0            0
> 0            0            0
> 289           1            1            0            0
> 0            0            0
> 290           1            0            1            0
> 0            0            0
> 291           1            0            0            1
> 0            0            0
> 292           1            0            0            0
> 1            0            0
> 293           1            0            0            0
> 0            1            0
> 294           1            0            0            0
> 0            0            1
> 295           1            1            0            0
> 0            0            0
> 296           1            0            1            0
> 0            0            0
> 297           1            0            0            1
> 0            0            0
> 298           1            0            0            0
> 1            0            0
> 299           1            0            0            0
> 0            1            0
> 300           1            0            0            0
> 0            0            1
> 301           1            1            0            0
> 0            0            0
> 302           1            0            1            0
> 0            0            0
> 303           1            0            0            1
> 0            0            0
> 304           1            0            0            0
> 1            0            0
> 305           1            0            0            0
> 0            1            0
> 306           1            0            0            0
> 0            0            1
> 307           1            1            0            0
> 0            0            0
> 308           1            0            1            0
> 0            0            0
> 309           1            0            0            1
> 0            0            0
> 310           1            0            0            0
> 1            0            0
> 311           1            0            0            0
> 0            1            0
> 312           1            0            0            0
> 0            0            1
> 313           1            1            0            0
> 0            0            0
> 314           1            0            1            0
> 0            0            0
> 315           1            0            0            1
> 0            0            0
> 316           1            0            0            0
> 1            0            0
> 317           1            0            0            0
> 0            1            0
> 318           1            0            0            0
> 0            0            1
> 319           1            1            0            0
> 0            0            0
> 320           1            0            1            0
> 0            0            0
> 321           1            0            0            1
> 0            0            0
> 322           1            0            0            0
> 1            0            0
> 323           1            0            0            0
> 0            1            0
> 324           1            0            0            0
> 0            0            1
> 325           1            1            0            0
> 0            0            0
> 326           1            0            1            0
> 0            0            0
> 327           1            0            0            1
> 0            0            0
> 328           1            0            0            0
> 1            0            0
> 329           1            0            0            0
> 0            1            0
> 330           1            0            0            0
> 0            0            1
> 331           1            1            0            0
> 0            0            0
> 332           1            0            1            0
> 0            0            0
> 333           1            0            0            1
> 0            0            0
> 334           1            0            0            0
> 1            0            0
> 335           1            0            0            0
> 0            1            0
> 336           1            0            0            0
> 0            0            1
> 337           1            1            0            0
> 0            0            0
> 338           1            0            1            0
> 0            0            0
> 339           1            0            0            1
> 0            0            0
> 340           1            0            0            0
> 1            0            0
> 341           1            0            0            0
> 0            1            0
> 342           1            0            0            0
> 0            0            1
> 343           1            1            0            0
> 0            0            0
> 344           1            0            1            0
> 0            0            0
> 345           1            0            0            1
> 0            0            0
> 346           1            0            0            0
> 1            0            0
> 347           1            0            0            0
> 0            1            0
> 348           1            0            0            0
> 0            0            1
> 349           1            1            0            0
> 0            0            0
> 350           1            0            1            0
> 0            0            0
> 351           1            0            0            1
> 0            0            0
> 352           1            0            0            0
> 1            0            0
> 353           1            0            0            0
> 0            1            0
> 354           1            0            0            0
> 0            0            1
> 355           1            1            0            0
> 0            0            0
> 356           1            0            1            0
> 0            0            0
> 357           1            0            0            1
> 0            0            0
> 358           1            0            0            0
> 1            0            0
> 359           1            0            0            0
> 0            1            0
> 360           1            0            0            0
> 0            0            1
> attr(,"assign")
> [1] 0 1 1 1 1 1 1
> attr(,"contrasts")
> attr(,"contrasts")$`factor(mat)`
> [1] "contr.treatment"
>
> This does not work"
>
>> fit<-lmFit(sponge_ExpressionSet,design)
> Error in lm.fit(design, t(M)) : incompatible dimensions
>> exprs(sponge_data_matrix)->spongeExprs
> Error in (function (classes, fdef, mtable)  :
>    unable to find an inherited method for function ‘exprs’ for signature
> ‘"matrix"’
>
>
> My ExpressionSet is built from scratch:
>
>>
> sponge_ExpressionSet<-new("ExpressionSet",exprs=sponge_data_matrix,phenoData=pd,experimentData=experimentData,featureData=an)
>> sponge_ExpressionSet
> ExpressionSet (storageMode: lockedEnvironment)
> assayData: 15744 features, 72 samples
>    element names: exprs
> protocolData: none
> phenoData
>    sampleNames: 1_1 1_2 ... 9_8 (72 total)
>    varLabels: Chip.Number File.Name ... percentlessthan0 (12 total)
>    varMetadata: labelDescription
> featureData
>    featureNames: 1 2 ... 15744 (15744 total)
>    fvarLabels: Column Row ... X.1 (23 total)
>    fvarMetadata: labelDescription
> experimentData: use 'experimentData(object)'
> Annotation:
>
> 	[[alternative HTML version deleted]]
>
>
>
> _______________________________________________
> Bioconductor mailing list
> Bioconductor at r-project.org
> https://stat.ethz.ch/mailman/listinfo/bioconductor
> Search the archives: http://news.gmane.org/gmane.science.biology.informatics.conductor



More information about the Bioconductor mailing list