Currently, IRanges does not play well with dplyr dataframes, e.g.: library(IRanges) library(dplyr)
df = tbl_df(data.frame( id=c(1,2,3), group=c('a','b','c') )) > DataFrame(df) library(dplyr) > DataFrame(df) DataFrame with 2 rows and 1 column Error in `rownames<-`(`*tmp*`, value = c("id", "group")) : length of 'dimnames' [1] not equal to array extent Calls: <Anonymous> -> <Anonymous> -> rownames<- -> rownames<- > sessionInfo() R version 3.1.0 (2014-04-10) Platform: x86_64-unknown-linux-gnu (64-bit) locale: [1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C LC_TIME=en_US.UTF-8 [4] LC_COLLATE=en_US.UTF-8 LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8 [7] LC_PAPER=en_US.UTF-8 LC_NAME=C LC_ADDRESS=C [10] LC_TELEPHONE=C LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C attached base packages: [1] parallel stats graphics grDevices utils datasets methods base other attached packages: [1] dplyr_0.2 IRanges_1.99.18 S4Vectors_0.1.2 BiocGenerics_0.11.3 [5] vimcom_1.0-0 setwidth_1.0-3 colorout_1.0-3 loaded via a namespace (and not attached): [1] assertthat_0.1 Rcpp_0.11.2 stats4_3.1.0 tools_3.1.0 Any easy work-around to this is simply to cast the dplyr dataframes to a regular dataframe before passing them in to IRange constructors, etc.: > DataFrame(as.data.frame(df)) DataFrame with 3 rows and 2 columns id group <numeric> <factor> 1 1 a 2 2 b 3 3 c However, since tbl_df's are dataframes themselves, it seems like it should not be too difficult to support them natively, or at the very least, check for/cast them to data frames in IRanges. Is there any chance this can be supported in future versions of IRanges? Regards, Keith [[alternative HTML version deleted]] _______________________________________________ Bioc-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/bioc-devel