[BioC] bug in combine
Seth Falcon
sfalcon at fhcrc.org
Fri Jan 22 06:04:44 CET 2010
On 1/21/10 7:06 PM, Kasper Daniel Hansen wrote:
> The combine method with signature (x = data.frame, y = data.frame)
> assumes that the class of a given column is a one-length vector (in
> various if and switch statements). However, class(x) can return a
> vector of length > 1 for S3 objects.
>
> This is the case for the DataTime column in the phenoData for an
> object created by oligo::read.celfiles. This column contains the
> scan date of the arrays and is of class [1] "POSIXt" "POSIXct"
>
> Hence combine() fails for celfile objects created by the oligo
> package. Or at least for the exon arrays I am looking at right now.
>
> If I (temporarily) fix this so that the class(pData(XX)$DateTime) has
> length 1 (by doing class(pData(XX)$DateTime <- "POSIXt") , combine()
> works.
>
> My guess is that the method could be fixed by replacing certain
> class() calls with class()[1].
We will take a look. I suspect that we might want to do something a bit
more subtle since the reason that class() returns a vector of length
more than one is to describe inheritance for the S3 case.
+ seth
More information about the Bioconductor
mailing list