[R] problems with limma
r.ghezzo@staff.mcgill.ca
r.ghezzo at staff.mcgill.ca
Mon Dec 20 21:45:11 CET 2004
I try to send this message To Gordon Smyth at smyth at vehi,edu.au but it bounced
back, so here it is to r-help
I am trying to use limma, just downloaded it from CRAN. I use R 2.0.1 on Win XP
see the following:
> library(RODBC)
> chan1 <- odbcConnectExcel("D:/Data/mgc/Chips/Chips4.xls")
> dd <- sqlFetch(chan1,"Raw") # all data 12000
> #
> nzw <- cbind(dd$NZW1C,dd$NZW2C,dd$NZW3C,dd$NZW1T,dd$NZW2T,dd$NZW3T)
> akr <- cbind(dd$AKR1C,dd$AKR2C,dd$AKR3C,dd$AKR1T,dd$AKR2T,dd$AKR3T)
> bas <- cbind(dd$NZW1C,dd$NZW2C,dd$NZW3C,dd$AKR1C,dd$AKR2C,dd$AKR3C)
> #
> design<-matrix(c(1,1,1,1,1,1,0,0,0,1,1,1),ncol=2)
> fit1 <- lmFit(nzw,design)
> fit1 <- eBayes(fit1)
> topTable(fit1,adjust="fdr",number=5)
M t P.Value B
12222 3679.480 121.24612 7.828493e-06 -4.508864
1903 3012.405 118.32859 7.828493e-06 -4.508866
9068 1850.232 92.70893 1.178902e-05 -4.508889
10635 2843.534 91.99336 1.178902e-05 -4.508890
561 18727.858 90.17085 1.178902e-05 -4.508893
> #
> fit2 <- lmFit(akr,design)
> fit2 <- eBayes(fit2)
> topTable(fit2,adjust="fdr",number=5)
M t P.Value B
88 1426.738 80.48058 5.839462e-05 -4.510845
1964 36774.167 73.05580 5.839462e-05 -4.510861
5854 7422.578 68.60316 5.839462e-05 -4.510874
11890 1975.316 66.54480 5.839462e-05 -4.510880
9088 2696.952 64.16343 5.839462e-05 -4.510889
> #
> fit3 <- lmFit(bas,design)
> fit3 <- eBayes(fit3)
> topTable(fit3,adjust="fdr",number=5)
M t P.Value B
6262 1415.088 100.78933 2.109822e-05 -4.521016
5660 1913.479 96.40903 2.109822e-05 -4.521020
11900 4458.489 94.30738 2.109822e-05 -4.521022
9358 1522.330 80.46641 3.346749e-05 -4.521041
11773 1784.483 73.76620 3.346749e-05 -4.521053
> # Now lets do all together in Anova
> #
> all <- cbind(nzw,akr)
> ts <- c(1,1,1,2,2,2,3,3,3,4,4,4)
> ts <- as.factor(ts)
> levels(ts) <- c("nzwC","nzwT","akrC","akrT")
> design <- model.matrix(~0+ts)
> colnames(design) <- levels(ts)
> fit4 <- lmFit(all,design)
> cont.matrix <- makeContrasts(
+ Baseline = akrC - nzwC,
+ NZW_Smk = nzwT - nzwC,
+ AKR_Smk = akrT - akrC,
+ Diff = (akrT - akrC) - (nzwT - nzwC),
+ levels=design)
> fit42 <- contrasts.fit(fit4,cont.matrix)
> fit42 <- eBayes(fit42)
> #
> topTable(fit42,coef="Baseline",adjust="fdr",number=5)
M t P.Value B
3189 942.0993 13.57485 0.004062283 -4.528799
8607 2634.1826 11.23476 0.006913442 -4.530338
10242 -942.2860 -10.99253 0.006913442 -4.530551
283 -609.0831 -10.79354 0.006913442 -4.530735
3224 -1564.2572 -10.19429 0.008089034 -4.531351
----------------------------------------------------
------------- Shouldn't this be equal to fit1 above?
----------------------------------------------------
> topTable(fit42,coef="NZW_Smk",adjust="fdr",number=5)
M t P.Value B
7724 -246.5956 -8.687324 0.1615395 -4.591133
1403 -307.8660 -7.063312 0.4066814 -4.591363
3865 -253.4899 -6.585582 0.4598217 -4.591457
3032 -509.2413 -5.841901 0.8294166 -4.591640
2490 -240.3259 -5.338679 0.9997975 -4.591795
----------------------------------------------------
------------- Shouldn't this be equal to fit2 above?
------------- The P.Value are unreal!!
----------------------------------------------------
> topTable(fit42,coef="AKR_Smk",adjust="fdr",number=5)
M t P.Value B
11547 151.6622 6.380978 0.917470 -4.595085
12064 324.0851 6.337235 0.917470 -4.595085
6752 964.5478 5.858994 0.952782 -4.595086
10251 152.7587 5.339843 0.952782 -4.595087
1440 189.6056 4.933151 0.952782 -4.595089
----------------------------------------------------
------------- Shouldn't this be equal to fit3 above?
------------- The P.Value are unreal!!
----------------------------------------------------
> topTable(fit42,coef="Diff",adjust="fdr",number=5)
M t P.Value B
7724 302.6892 7.540195 0.4102211 -4.593201
1403 419.4962 6.805495 0.4102211 -4.593265
10251 270.5269 6.686796 0.4102211 -4.593277
3270 409.8391 6.414966 0.4192042 -4.593307
10960 -511.4711 -5.469247 0.9652171 -4.593435
> #
>
So the results I get from just pairwise comparisons are very significant, but
when I try the Anova way, the significance completely dissapears.
Am I doing something completely wrong?
This is data from Affimetrix mouse chips.
Thanks for any help
Heberto Ghezzo
Ph.D.
Meakins-Christie Labs
McGill University
Montreal - Canada
More information about the R-help
mailing list