Out of curiosity, what's the reason for not using plyr?

If it has to do with installing the package, here's how the rbind.fill function is implemented in plyr. It may help show you what you'd like to do:

plyr::rbind.fill
function (...)
{
    dfs <- list(...)
    if (length(dfs) == 0)
        return()
    if (is.list(dfs[[1]]) && !is.data.frame(dfs[[1]])) {
        dfs <- dfs[[1]]
    }
    dfs <- compact(dfs)
    if (length(dfs) == 0)
        return()
    if (length(dfs) == 1)
        return(dfs[[1]])
    is_df <- vapply(dfs, is.data.frame, logical(1))
    if (any(!is_df)) {
        stop("All inputs to rbind.fill must be data.frames",
            call. = FALSE)
    }
    rows <- unlist(lapply(dfs, .row_names_info, 2L))
    nrows <- sum(rows)
    ot <- output_template(dfs, nrows)
    setters <- ot$setters
    getters <- ot$getters
    if (length(setters) == 0) {
        return(as.data.frame(matrix(nrow = nrows, ncol = 0)))
    }
    pos <- matrix(c(cumsum(rows) - rows + 1, rows), ncol = 2)
    for (i in seq_along(rows)) {
        rng <- seq(pos[i, 1], length = pos[i, 2])
        df <- dfs[[i]]
        for (var in names(df)) {
            setters[[var]](rng, df[[var]])
        }
    }
    quickdf(lapply(getters, function(x) x()))
}
<environment: namespace:plyr>
plyr::quickdf
function (list)
{
    rows <- unique(unlist(lapply(list, NROW)))
    stopifnot(length(rows) == 1)
    names(list) <- make_names(list, "X")
    class(list) <- "data.frame"
    attr(list, "row.names") <- c(NA_integer_, -rows)
    list
}
<environment: namespace:plyr>


There's a stackoverflow discussion that covers another alternative using data.tables if that's preferable: http://stackoverflow.com/questions/18003717/is-there-any-efficient-way-than-rbind-filllist


It looks like dplyr has another alternative implemented in C++ as well: https://github.com/hadley/dplyr/blob/master/R/rbind.r



On 2014-03-26 10:06, Babak Bastan wrote:
Hi friends

I would like to rbind two matrices with different column number. How can I do that? (I dont want to use Plyr package). Is there any way except plyr?

        [[alternative HTML version deleted]]

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to