[Bioc-devel] Interoperability between DataFrame and dplyr?

Michael Lawrence lawrence.michael at gene.com
Fri Apr 24 03:26:18 CEST 2015

Lists are vectors, but as long as they aren't doing too much C++, or assert
specific types, it should work. Functions like length(), names(), [, etc
dispatch to both S3 and S4.

On Thu, Apr 23, 2015 at 6:11 PM, Ryan Thompson <rct at thompsonclan.org> wrote:

> It looks like dplyr has support for base R lists as columns in data
> frames:
> http://cran.r-project.org/web/packages/dplyr/vignettes/data_frames.html
> Hopefully that feature is flexible enough to accommodate anything that
> looks sufficiently like a vector. Is love to give this a try, but I can't
> find anything on what specifically needs to be implemented for a new dplyr
> backend.
> In theory, probably not that hard. DataFrame implements methods on
> primitive and S3 generics, so even the darkest shadows of the S3 world will
> dispatch correctly on those. One potential roadblock is that dplyr may
> assume that all columns are base R vectors, which would obviously fail for
> stuff like Rle.  Ideally, the data.frame implementation of dplyr has
> restricted itself to some subset of the base R API, without diving down
> into C++, except through dispatch.  But that might be too idealistic. Good
> luck, I'm interested to see what you come up with.
> Michael
> On Thu, Apr 23, 2015 at 4:06 PM, Ryan C. Thompson <rct at thompsonclan.org>
> wrote:
>> Hi all,
>> So, dplyr is a pretty cool thing, but it currently works with data.frame
>> and data.table, but not S4Vectors::DataFrame. I'd like to change that if
>> possible, and I assume that this would "simply" involve writing some glue
>> code. However, I'm not really sure where to start, and I expect things
>> might be complicated because dplyr uses S3 and S4Vectors uses S4. Can
>> anyone offer any pointers?
>> -Ryan
>> _______________________________________________
>> Bioc-devel at r-project.org mailing list
>> https://stat.ethz.ch/mailman/listinfo/bioc-devel

	[[alternative HTML version deleted]]

More information about the Bioc-devel mailing list