[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
 "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().
More information about the Bioconductor