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
>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
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
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
> --------------------------------
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
||||