[Bioc-devel] Empty DataFrame Causes SummarizedExperiment Constructor Error
hp@ge@@on@g|thub @end|ng |rom gm@||@com
Sun May 21 07:35:44 CEST 2023
On 5/17/23 23:59, Robert Castelo wrote:
> not sure whether this is relevant, but I observed that while an empty
> base R 'data.frame()' constructor gives zero-length character vectors
> for row and column names, the empty 'DataFrame()' constructor gives
> also a zero-length character vector for column names, but NULL for row
> names, shouldn't this be consistent with base R 'data.frame()'?
This is a feature. Handling of the rownames of a DataFrame deviates from
data.frame as documented in ?DataFrame.
> On 5/17/23 20:45, Hervé Pagès wrote:
>> Not sure why the colData default is DataFrame(). Seems like this has
>> been the default since the birth of the SummarizedExperiment class
>> back in 2010 (FWIW the class was born in the GenomicRanges package).
>> Anyways, it should probably be NULL, like for rowData. Can you please
>> open an issue on GitHub for this? Thanks
>> On 5/12/23 07:00, Dario Strbenac via Bioc-devel wrote:
>>> Good day,
>>> The default value of colData is DataFrame(). Not specifying an
>>> informative colData is fine.
>>> countsMini <- matrix(rpois(100, 100), ncol = 10)
>>> colnames(countsMini) <- paste("Cell", 1:10)
>>> rownames(countsMini) <- paste("Gene", 1:10)
>>> SummarizedExperiment(assays = list(counts = countsMini)) # Creates
>>> the object successfully.
>>> But, explicitly specifying an empty DataFrame triggers an error. I
>>> don't understand why it is not equivalent to the constructor's default.
>>> SummarizedExperiment(assays = list(counts = countsMini), colData =
>>> Error in `rownames<-`(`*tmp*`, value =
>>> .get_colnames_from_first_assay(assays)) :
>>> invalid rownames length
>>> What is the subtle difference? It also seems like there could be a
>>> clearer error message emitted if this is caught in the right place.
>>> Dario Strbenac
>>> University of Sydney
>>> Camperdown NSW 2050
>>> Bioc-devel using r-project.org mailing list
Bioconductor Core Team
hpages.on.github using gmail.com
More information about the Bioc-devel