Dear R help, I've encountered a problem with survreg's anova(). I am currently writing general code to fit a variety of models using different fitting functions. Here's a simple example of what I'm trying to do: ---begin code--- # general function to analyse data analyse.data <- function(formula, FUN, data, ...) { fit <- FUN(formula, data=data, ...) anova(fit) } ---end code--- In theory I should be able to call analyse.data() specifying FUN as I please. In practice FUN=lm and FUN=glm work but FUN=survreg does not. For example: ---begin code--- library(survival) data <- data.frame( y = rexp(100, rate=1), status = rbinom(100,1,prob=0.8), x = rnorm(100)) # analyse as lm formula <- as.formula("y ~ x") analyse.data(formula, FUN=lm, data=data) # works! # analyse as glm formula <- as.formula("y ~ x") analyse.data(formula, FUN=glm, data=data, family="Gamma") # works! # analyse as survival formula <- as.formula("Surv(y, status) ~ x") analyse.data(formula, survreg, data=data) # Error in eval(expr, envir, enclos) : couldn't find function "FUN" # check survival works outside function fit <- survreg(formula, data) anova(fit) # works! ---end code--- I suspect this is something to do with parent frames in anova.survreg(). However, although R mentions anova.survreg on traceback(), the code for this function seems not to be viewable. I couldn't find any other positings about this. Any suggestions? Note: I am using R version 2.1.1 and "survival" package version 2.18. Many thanks, William =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-Dr William Valdar ++44 (0)1865 287 717 Wellcome Trust Centre valdar at well.ox.ac.uk for Human Genetics, Oxford www.well.ox.ac.uk/~valdar