[R] a question of substitute

Adrian Dusa dusa.adrian at gmail.com
Tue Jan 9 13:38:16 CET 2007


Hi all,

I want to write a wrapper for an analysis of variance and I face a curious 
problem. Here are two different wrappers:

fun.1 <- function(formula) {
    summary(aov(formula))
}

fun.2 <- function(formula) {
    oneway.test(formula)
}

values <- c(15, 8, 17, 7, 26, 12, 8, 11, 16, 9, 16,
            24, 20, 19, 9, 17, 11, 8, 15, 6, 14)
group <- rep(1:3, each=7)

# While the first wrapper works just fine:
fun.1(values ~ group)

# the second throws an error:
fun.2(values ~ group)
Error in substitute(formula)[[2]] : object is not subsettable

###

I also tried binding the two vectors in a data.frame, with no avail.
I did find a hack, creating two new vectors inside the function and creating a 
fresh formula, so I presume this has something to do with environments.

Could anybody give me a hint on this?
Thank you,
Adrian

-- 
Adrian Dusa
Romanian Social Data Archive
1, Schitu Magureanu Bd
050025 Bucharest sector 5
Romania
Tel./Fax: +40 21 3126618 \
          +40 21 3120210 / int.101



More information about the R-help mailing list