[Rd] as.data.frame.table and the name "Freq"

Bill.Venables at csiro.au Bill.Venables at csiro.au
Sat Jan 8 08:50:26 CET 2005


May I suggest that the method as.data.frame.table not have the name
"Freq" hardwired as the response name?  This is a problem if "Freq" is
already the name of a stimulus factor.

Here is the existing function:

as.data.frame.table <- function (x, row.names = NULL, optional = FALSE,
...) {
    x <- as.table(x)
    data.frame(do.call("expand.grid", dimnames(x)), Freq = c(x), 
        row.names = row.names)
}

My suggested fix is

as.data.frame.table <- 
function (x, row.names = NULL, optional = FALSE, responseName = "Freq",
...) {
    x <- as.table(x)
    ex <- Quote(data.frame(do.call("expand.grid", dimnames(x)), Freq =
c(x), 
        row.names = row.names))
    names(ex)[3] <- responseName
    eval(ex)
}

This should be no slower and should break no existing code.
 
Bill Venables,



More information about the R-devel mailing list