Hi:

One approach would be to use dlply() from the plyr package to generate the
models and assign the results to a list, something like the following:

library(plyr)
# function to run the GLM in each data subset - the argument is a generic
data subset d
gfun <- function(d) glm(Stems ~ Time, data = d, family = poisson)
mlist <- dlply(stems139, .(SizeClass, Species), gfun)

To see the result, try mlist[[1]] or summary(mlist[[1]]) to execute the
print and summary methods on the first fitted model. Each output list object
from glm() is a list component of mlist, so mlist is actually a list of
lists.

You can extract various pieces from mlist by using ldply() with a suitable
extraction function or by use of the do.call/lapply combination.

All of this is untested since no minimal example was provided per
instructions in the Posting Guide...

HTH,
Dennis


On Tue, Feb 8, 2011 at 11:54 AM, Christopher R. Dolanc <crdolanc@ucdavis.edu
> wrote:

> I'm having a hard time figuring out how to group results by certain factors
> in R.  I have data with the following headings:
>
> [1] "Time"      "Plot"      "LatCat"    "Elevation" "ElevCat"   "Aspect"
>  "AspCat"    "Slope"
> [9] "SlopeCat"  "Species"   "SizeClass" "Stems"
>
> and I'm trying to use a GLM to test differences in "Stems" for different
> categories/factors - most importantly, I want to group things so that I see
> results by "SizeClass" and then by "Species".  This is pretty easy in SAS
> using the "Group By" command, but in R, I haven't figured it out.
>
> I've tried using the following code:
>
> > stems139GLM <- glm(Stems ~ Time | SizeClass | Species, family=poisson,
> data=stems139)
>
> but R gives me this message:
>
> Error in pmax(exp(eta), .Machine$double.eps) :
>  cannot mix 0-length vectors with others
> In addition: Warning messages:
> 1: In Ops.factor(Time, SizeClass) : | not meaningful for factors
> 2: In Ops.factor(Time | SizeClass, Species) : | not meaningful for factors
>
> I'd appreciate any help.
>
> Thanks.
>
> --
> Christopher R. Dolanc
> PhD Candidate
> Ecology Graduate Group
> University of California, Davis
> Lab Phone: (530) 752-2644 (Barbour lab)un
>
> ______________________________________________
> R-help@r-project.org 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.
>

	[[alternative HTML version deleted]]

