I've been trying to figure out how to prevent a column that is the result of
an aggregate function call so that I can use it in further calculations. For
example, I would like to aggregate the expf for the data.frame by sp
(character) and dbh (double d=rounded to integer) using the command:


> st2 <- aggregate( ntrs$expf, by=list(sp=ntrs$sp,dbh=ntrs$dbh), sum )
> st2$expf <- st2$x / 20
> st2$basal.area <- st2$dbh^2 * st2$expf
Warning message:
"^" not meaningful for factors in: Ops.factor(st2$dbh, 2)
>

attributes(st2$dbh) tell me the class is a factor. I would like to values to
remain AsIs but cannot seem to figure out how to tell aggregate how to do
that, or even handle the operation after the fact by converting or adding an
extra column to the resulting data.frame.

I've tried using I() with no luck

> st2 <- aggregate( ntrs$expf, by=list(sp=ntrs$sp,dbh=I(ntrs$dbh)), sum )

How can/do I "cast" the dbh factor into an integer in the data.frame?

Thanks,
Jeff.

---
Jeff D. Hamann
Forest Informatics, Inc.
PO Box 1421
Corvallis, Oregon USA 97339-1421
(office) 541-754-1428
(cell) 541-740-5988
[EMAIL PROTECTED]
www.forestinformatics.com

______________________________________________
[EMAIL PROTECTED] mailing list
https://www.stat.math.ethz.ch/mailman/listinfo/r-help

Reply via email to