decideTests
1
0
Entering edit mode
Jason Skelton ▴ 510
@jason-skelton-135
Last seen 9.6 years ago
Hi All Trying to use decideTests (for the first time) the following command works fine with classify tests CLASTEST <- classifyTestsP(EB$t, df=Inf, p.value=0.2, method="fdr") but the same objects either EB$t or FIT(MAarryLM) don't appear to work at all DT <- decideTests(EB$t, p.value=0.2, method="separate", adjust.method="fdr") returns: Error in decideTests(nwaKarinaKoopEB$t, p.value = 0.2, method = "separate", : Need MArrayLM object DT <- decideTests(FIT, p.value=0.2, method="separate", adjust.method="fdr") returns: Error in array(x, c(length(x), 1), if (!is.null(names(x))) list(names(x), : attempt to set an attribute on NULL In both classifyTests and decideTest the object being specified is described as: Arguments |object| numeric matrix of t-statistics or an |MArrayLM| object from which the t-statistics may be extracted. any ideas ? using R 2.0 limma 1.8.6 Thx -- -------------------------------- Jason Skelton Pathogen Microarrays Wellcome Trust Sanger Institute Hinxton Cambridge CB10 1SA Tel +44(0)1223 834244 Ext 7123 Fax +44(0)1223 494919
• 1.3k views
ADD COMMENT
0
Entering edit mode
@gordon-smyth
Last seen 6 minutes ago
WEHI, Melbourne, Australia
>Wed Nov 3 17:37:22 CET 2004 >Hi All > >Trying to use decideTests (for the first time) >the following command works fine with classify tests > >CLASTEST <- classifyTestsP(EB$t, df=Inf, p.value=0.2, method="fdr") > >but the same objects either EB$t or FIT(MAarryLM) don't appear to work >at all > >DT <- decideTests(EB$t, p.value=0.2, method="separate", adjust.method="fdr") You need DT <- decideTests(EB, p.value=0.2, method="separate", adjust.method="fdr") >returns: >Error in decideTests(nwaKarinaKoopEB$t, p.value = 0.2, method = >"separate", : > Need MArrayLM object > >DT <- decideTests(FIT, p.value=0.2, method="separate", adjust.method="fdr") > >returns: >Error in array(x, c(length(x), 1), if (!is.null(names(x))) list(names(x), : > attempt to set an attribute on NULL This is because FIT doesn't contain the output from eBayes(), i.e., doesn't contain t-statistics. >In both classifyTests and decideTest the object being specified is >described as: > >Arguments >|object| numeric matrix of t-statistics or an |MArrayLM| object from >which the t-statistics may be extracted. Sorry, the doc is wrong in that support for a "matrix of t-statistics" hasn't been implemented. Gordon >any ideas ? > >using >R 2.0 >limma 1.8.6 > >Thx > >-- >-------------------------------- >Jason Skelton >Pathogen Microarrays >Wellcome Trust Sanger Institute >Hinxton >Cambridge >CB10 1SA
ADD COMMENT
0
Entering edit mode
Hi Gordon Jason Skelton wrote: > but the same objects either EB$t or FIT(MAarryLM) don't appear to work > at all > > DT <- decideTests(EB$t, p.value=0.2, method="separate", > adjust.method="fdr") Gordon Smyth wrote: You need DT <- decideTests(EB, p.value=0.2, method="separate", adjust.method="fdr") ---------------------------------------------------------------------- --------------------------------------- sorry forgot to mention in my original email that I tried that as well > DT <- decideTests(EB, p.value=0.2, method="separate", adjust.method="fdr") Error in decideTests(EB, p.value = 0.2, method = "separate", : Need MArrayLM object > class(EB) [1] "list" > names(EB) [1] "df.prior" "s2.prior" "s2.post" "t" "p.value" "var.prior" [7] "lods" > summary(EB) Length Class Mode df.prior 1 -none- numeric s2.prior 1 -none- numeric s2.post 10080 -none- numeric t 30240 -none- numeric p.value 30240 -none- numeric var.prior 3 -none- numeric lods 30240 -none- numeric thanks for your help Jason -- -------------------------------- Jason Skelton Pathogen Microarrays Wellcome Trust Sanger Institute Hinxton Cambridge CB10 1SA Tel +44(0)1223 834244 Ext 7123 Fax +44(0)1223 494919
ADD REPLY
0
Entering edit mode
On Thu, November 4, 2004 8:16 pm, Jason Skelton said: > Gordon Smyth wrote: > > You need > > DT <- decideTests(EB, p.value=0.2, method="separate", adjust.method="fdr") > -------------------------------------------------------------------- ----------------------------------------- > sorry forgot to mention in my original email that I tried that as well > > > DT <- decideTests(EB, p.value=0.2, method="separate", > adjust.method="fdr") > Error in decideTests(EB, p.value = 0.2, method = "separate", : > Need MArrayLM object Well, the error message is pretty self-explanatory! You need to give it an object of class "MArrayLM", i.e., you need to give it output from lmFit() and eBayes(), as in all the examples in the User's Guide. You didn't say how you created FIT and EB. I am guessing now that you used lm.series() or gls.series(). I am been phasing these functions out of the user- interface for a long time -- they are lower-level functions that produce unclassed list objects. There is no need for you to use them. So far I have been writing functions that are tolerant of whether the input arguments are formally classed or not, but in future I may not do that. So, please, use lmFit(), not lm.series(). Gordon > > class(EB) > [1] "list" > > names(EB) > [1] "df.prior" "s2.prior" "s2.post" "t" "p.value" "var.prior" > [7] "lods" > > summary(EB) > Length Class Mode > df.prior 1 -none- numeric > s2.prior 1 -none- numeric > s2.post 10080 -none- numeric > t 30240 -none- numeric > p.value 30240 -none- numeric > var.prior 3 -none- numeric > lods 30240 -none- numeric > > thanks for your help > > Jason > > > > -- > -------------------------------- > Jason Skelton > Pathogen Microarrays > Wellcome Trust Sanger Institute > Hinxton > Cambridge > CB10 1SA > > Tel +44(0)1223 834244 Ext 7123 > Fax +44(0)1223 494919 > --------------------------------
ADD REPLY
0
Entering edit mode
Hi Gordon >Well, the error message is pretty self-explanatory! You need to give it an object of class >"MArrayLM", i.e., you need to give it output from lmFit() and eBayes(), as in all the examples in >the User's Guide. > >You didn't say how you created FIT and EB. I am guessing now that you used lm.series() or >gls.series(). I am been phasing these functions out of the user- interface for a long time -- they >are lower-level functions that produce unclassed list objects. There is no need for you to use >them. So far I have been writing functions that are tolerant of whether the input arguments are >formally classed or not, but in future I may not do that. > >So, please, use lmFit(), not lm.series(). > > Sorry, but i used lmFit() > COR <- duplicateCorrelation(nwaMA, ndups=2, spacing=840, DESIGN) > COR$cor [1] 0.3662469 > FIT <- lmFit(nwaMA, ndups=2, spacing=840, DESIGN, correlation=0.3662469, method="ls") > class(FIT) [1] "MArrayLM" attr(,"package") [1] "limma" I've been using this for a long time now and stopped using lm.series() a long time ago.... I've now managed to get this to work however I was using the wrong version of ebayes.......? I was using ebayes and NOT eBayes (mainly from habit) apologies for the confusion "you need to give it output from lmFit() and eBayes()" Well just the output from eBayes ? As the former gives the following message: Error in array(x, c(length(x), 1), if (!is.null(names(x))) list(names(x), : attempt to set an attribute on NULL Thanks for your help and advice Cheers Jason ||||
ADD REPLY

Login before adding your answer.

Traffic: 1074 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6