From Bill.Venables at csiro.au  Sat Jan  8 08:50:26 2005
From: Bill.Venables at csiro.au (Bill.Venables@csiro.au)
Date: Sat Jan  8 08:50:34 2005
Subject: [Rd] as.data.frame.table and the name "Freq"
Message-ID: <B998A44C8986644EA8029CFE6396A9240AB129@exqld2-bne.qld.csiro.au>

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,


[Rd] as.data.frame.table and the name "Freq"
Bill.Venables@csiro.au