[BioC] bug in combine
Kasper Daniel Hansen
khansen at stat.berkeley.edu
Fri Jan 22 04:06:59 CET 2010
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].
Kasper
More information about the Bioconductor
mailing list