try this: > x = predict(z, Iris[-train, ]) > x1 <- rnorm(100,1) > x2 <- rnorm(100,1) > y <- rnorm(100,1) > group <- rep(c("A","B"),c(40,60)) > group <- factor(group) > df <- data.frame(y,x1,x2,group) > resf1 <- lapply(levels(df$group),function(x) {formula1 <- as.formula(y~x1); > lm(formula1,df, subset =group ==x)}) # put the formula defn into function(x) > resf1 [[1]]
Call: lm(formula = formula1, data = df, subset = group == x) Coefficients: (Intercept) x1 0.8532 0.1189 [[2]] Call: lm(formula = formula1, data = df, subset = group == x) Coefficients: (Intercept) x1 0.7116 0.3398 HTH, Weiwei On 8/15/07, Li, Yan (IED) <[EMAIL PROTECTED]> wrote: > I am trying to run separate regressions for different groups of > observations using the lapply function. It works fine when I write the > formula inside the lm() function. But I would like to pass formulae into > lm(), so I can do multiple models more easily. I got an error message > when I tried to do that. Here is my sample code: > > #generating data > x1 <- rnorm(100,1) > x2 <- rnorm(100,1) > y <- rnorm(100,1) > group <- rep(c("A","B"),c(40,60)) > group <- factor(group) > df <- data.frame(y,x1,x2,group) > > #write formula inside lm--works fine > res1 <- lapply(levels(df$group), function(x) lm(y~x1,df, subset = group > ==x)) > res1 > res2 <- lapply(levels(df$group),function(x) lm(y~x1+x2,df, subset = > group ==x)) > res2 > > #try to pass formula into lm()--does not work > formula1 <- as.formula(y~x1) > formula2 <- as.formula(y~x1+x2) > resf1 <- lapply(levels(df$group),function(x) lm(formula1,df, subset = > group ==x)) > resf1 > resf2 <- lapply(levels(df$group),function(x) lm(formula2,df, subset = > group ==x)) > Resf2 > > The error message is > 'Error in eval(expr, envir, enclos): object "x" not found' > > Any help is greatly appreciated! > > Yan > -------------------------------------------------------- > > This is not an offer (or solicitation of an offer) to buy/se...{{dropped}} > > ______________________________________________ > 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 > and provide commented, minimal, self-contained, reproducible code. > -- Weiwei Shi, Ph.D Research Scientist GeneGO, Inc. "Did you always know?" "No, I did not. But I believed..." ---Matrix III ______________________________________________ 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 and provide commented, minimal, self-contained, reproducible code.