bug in combine
2
0
Entering edit mode
@kasper-daniel-hansen-2979
Last seen 18 months ago
United States
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
• 820 views
ADD COMMENT
0
Entering edit mode
Seth Falcon ★ 7.4k
@seth-falcon-992
Last seen 10.3 years ago
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
ADD COMMENT
0
Entering edit mode
Seth Falcon ★ 7.4k
@seth-falcon-992
Last seen 10.3 years ago
Hi Kasper, 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" I've committed a fix for this to Biobase in devel. When you get a chance, can you test it out and let us know if it now works as you are expecting? We could then see about porting the fix to the release. Thanks, + seth -- Seth Falcon Bioconductor Core Team | FHCRC
ADD COMMENT
0
Entering edit mode
On Jan 25, 2010, at 19:42 PM, Seth Falcon wrote: > Hi Kasper, > > 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" > > I've committed a fix for this to Biobase in devel. When you get a chance, can you test it out and let us know if it now works as you are expecting? It works, using Biobase 2.7.4 > We could then see about porting the fix to the release. While this was a clear bug, it throws an error when something is wrong, so I see little reason to backport it, unless someone else has the same problem. Thanks, Kasper > Thanks, > > + seth > > -- > Seth Falcon > Bioconductor Core Team | FHCRC
ADD REPLY

Login before adding your answer.

Traffic: 733 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6