On Mon, 15 Aug 2005, Adaikalavan Ramasamy wrote: > You are right, it works fine with a different name. Its a bad habit that > I need to shake off. > > The error message said that the second argument was invalid. The second > argument in stepAIC and addterm is 'scope' and thus the title.
OK, we'll improve the error message .... > > Thank you again. > > Regards, Adai > > > > On Mon, 2005-08-15 at 15:23 +0100, Prof Brian Ripley wrote: >> Try not to use the name of an R object ... the error is caused by using >> 'df' as the second argument to eval(). >> >> It works with DF in place of df. >> >> I don;t understand your subject line: that is not the error message you >> received. >> >> On Mon, 15 Aug 2005, Adaikalavan Ramasamy wrote: >> >>> I am trying to replicate the first example from stepAIC from the MASS >>> package with my own dataset but am running into error. If someone can >>> point where I have gone wrong, I would appreciate it very much. >>> >>> Here is an example : >>> >>> set.seed(1) >>> df <- data.frame( x1=rnorm(1000), x2=rnorm(1000), x3=rnorm(1000) ) >>> df$y <- 0.5*df$x1 + rnorm(1000, mean=8, sd=0.5) >>> # pairs(df); head(df) >>> >>> lo <- aov( y ~ 1, data=df ) >>> hi <- aov( y ~ .^2, data=df ) >>> mid <- aov( y ~ x2 + x3, data=df ) >>> >>> Running any of the following commands >>> >>> stepAIC( mid, scope=list(upper = ~x1 + x2 + x3 , lower = ~1) ) >>> stepAIC( mid, scope=list(upper = hi , lower = lo) ) >>> addterm( mid, ~ x1 + x2 + x3 ) >>> addterm( lo, hi ) >>> >>> gives the same error message : >>> Error in eval(expr, envir, enclos) : invalid second argument >>> >>> Here is a traceback of the first failed command : >>> 14: eval(predvars, data, env) >>> 13: model.frame.default(formula = y ~ x2 + x3 + x1, data = df, >>> drop.unused.levels = TRUE) >>> 12: model.frame(formula = y ~ x2 + x3 + x1, data = df, drop.unused.levels = >>> TRUE) >>> 11: eval(expr, envir, enclos) >>> 10: eval(mf, parent.frame()) >>> 9: lm(formula = y ~ x2 + x3 + x1, data = df, method = "model.frame") >>> 8: eval(expr, envir, enclos) >>> 7: eval(fcall, env, parent.frame()) >>> 6: model.frame.lm(fob, xlev = object$xlevels) >>> 5: model.frame(fob, xlev = object$xlevels) >>> 4: stats:::add1.lm(object, scope = scope, scale = scale) >>> 3: addterm.lm(fit, scope$add, scale = scale, trace = max(0, trace - 1), k = >>> k, ...) >>> 2: addterm(fit, scope$add, scale = scale, trace = max(0, trace - 1), k = k, >>> ...) >>> 1: stepAIC(mid, scope = list(upper = ~x1 + x2 + x3, lower = ~1)) >>> >>> Any pointers would be much appreciated. Thank you. >>> >>> Regards, Adai >>> >>> ______________________________________________ >>> R-help@stat.math.ethz.ch mailing list >>> https://stat.ethz.ch/mailman/listinfo/r-help >>> PLEASE do read the posting guide! >>> http://www.R-project.org/posting-guide.html >>> >> > > -- Brian D. Ripley, [EMAIL PROTECTED] Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/ University of Oxford, Tel: +44 1865 272861 (self) 1 South Parks Road, +44 1865 272866 (PA) Oxford OX1 3TG, UK Fax: +44 1865 272595 ______________________________________________ R-help@stat.math.ethz.ch mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html