[BioC] Error in normalize.quantiles.robust

Ben Bolstad bmb at bmbolstad.com
Wed Jul 2 16:38:32 CEST 2008


xxx should be of storage class double

storage.mode(xxx)

to get normalize.quantiles.robust to work.

Also with colClasses in read.table you need to specify storage mode for
each column you are reading.





On Wed, 2008-07-02 at 16:05 +0200, DAVID ARTETA GARCIA wrote:
> Dear Martin, thanks for your answer. I cannot make your first suggestion work:
> 
> > xxx <- read.table("mydata.txt", sep = "\t", header=TRUE,colClasses="numeric")
> Error in scan(file, what, nmax, sep, dec, quote, skip, nlines, na.strings,  :
>    scan() expected 'a real', got 'A0001'
> 
> I also tried removing the row.names and then I get
> 
> > log.quant.rob.norm <-normalize.quantiles.robust(as.numeric(xxx))
> Error in normalize.quantiles.robust(as.numeric(xxx)) :
>    INTEGER() can only be applied to a 'integer', not a 'NULL'
> 
> 
> Any more thoughts?
> 
> D.
> 
> 
> 
> Martin Morgan <mtmorgan at fhcrc.org> ha escrito:
> 
> > Hi David --
> >
> > DAVID ARTETA GARCIA <darteta001 at ikasle.ehu.es> writes:
> >
> >> Dear list, I have a matrix I imported using read.table with raw
> >> intensity data for 12 samples and 2300 genes in one colour, as folows:
> >>
> >>> dim(xxx)
> >> [1] 2352   12
> >>
> >>> head(xxx)
> >>            0025 0039 0041 0043 0047 0058 0061 0067 0072 0073 0078 0085
> >> A0001      953  509 1669  867 6672 1526  453  397  883  686  382  429
> >> A0002     1769  641 1635 1357 4364 1308  552  441  888 1374  493  693
> >> A0003     2304  943 2701 1745 4966 1622  807  591 1283 1579  517  870
> >> A0004     2185 1235 3992 1866 6462 1556 1004  781 1512 1911  762  906
> >> A0005     1842 1008 1904 1434 6331 1155  759  515 1155 1448  510  764
> >> A0006     1586  909 2294  641 7729 1367  788  489 1317  714  503  301
> >>
> >>
> >>> class(xxx)
> >> [1] "matrix"
> >>
> >>
> >> I am trying to normalize using robust quantiles but I get an error
> >> that I don´t understand.
> >>
> >>> log.quant.rob.norm<-normalize.quantiles.robust(xxx,use.log2=TRUE)
> >> Error in normalize.quantiles.robust(xxx, use.log2 = TRUE) :
> >>    REAL() can only be applied to a 'numeric', not a 'integer'
> >>> is.numeric(xxx)
> >> [1] TRUE
> >
> > I guess is.integer(xxx) returns TRUE; integer is a subclass of
> > numeric, so they are both TRUE. You'll want to convert your intensity
> > measures to numeric (e.g., with the colClasses="numeric" argument to
> > whatever read.* function you used, or as.numeric(xxx).
> >
> > Martin
> >
> >>
> >> Can anyone help me with this?
> >>
> >> TIA,
> >>
> >> D.
> >>
> >> _______________________________________________
> >> Bioconductor mailing list
> >> Bioconductor at stat.math.ethz.ch
> >> https://stat.ethz.ch/mailman/listinfo/bioconductor
> >> Search the archives:   
> >> http://news.gmane.org/gmane.science.biology.informatics.conductor
> >
> > --
> > Martin Morgan
> > Computational Biology / Fred Hutchinson Cancer Research Center
> > 1100 Fairview Ave. N.
> > PO Box 19024 Seattle, WA 98109
> >
> > Location: Arnold Building M2 B169
> > Phone: (206) 667-2793
> >
> >
> 
> _______________________________________________
> Bioconductor mailing list
> Bioconductor at stat.math.ethz.ch
> 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