Re: [R] Newbie question about by() -- update

About this list Date view Thread view Subject view Author view

From: david.beede@mail.doc.gov
Date: Wed 21 Mar 2001 - 04:36:29 EST


Message-ID: <OF78B4B8BB.4CD9DBE6-ON85256A15.00628421@mail.doc.gov>

Sorry about the lack of detail. I am running R v.1.2.2. I can recast my
question
(which I think I have partially answered) more succinctly as follows:

1. This seems to work (note that group takes values 1,2,3,4, or 5):
 my.newfun <- function(x) myfile <- lm(award ~ ilogemp + ilogage, x)
 test.by <- by(wintemp, as.factor(wintemp$group), my.newfun)

2. This does not work (leaving aside whether I am using ppr correctly or not!):
> my.pprfun <- function(x) mypprfile <- ppr(award ~ ilogemp + ilogage, data = x, nterms = 5,
+ max.terms = 10, optlevel = 3)
> test.by <- by(wintemp, as.factor(wintemp$group), my.pprfun)
Error in model.frame.default(formula = award ~ ilogemp + ilogage, data = x) :
     Object "x" not found

3. However, this does seem to work, but I don't know enough about R to explain why:
> my.pprfun <- function(x) mypprfile <- ppr(award ~ ilogemp + ilogage,
+ data = eval.parent(substitute(x),3), nterms = 5, max.terms = 10, optlevel = 3)
> test.by <- by(wintemp, as.factor(wintemp$group), my.pprfun)

If I understand this (and p. 69 of S Programming by VR) correctly, it seems as though
I have to evaluate x three environments up the call sequence from ppr, but I don't have
to do so for lm. I don't yet fully understand how the environments work, and I'm afraid
that only a little knowledge is dangerous! Can anyone explain the difference between
lm and ppr in this context?
---------------

david.beede@mail.doc.gov wrote:
>
> Dear R list:
>
> I want to make separate estimates for each level of the variable "group."
> After consulting many sources I am stumped as to why the following does
not work:
>
> > wintemp <- subset(alltemp, winner==1)
> > my.ppr <- function(x)
> + {
> + if(nrow(x) >= 50) {
> + pprfile <- ppr(award~ilogemp,
data=x,nterms=5,max.terms=10,optlevel=3)
> + summary(pprfile)
> + }
> + }
> > test.by <- by(wintemp,as.factor(wintemp$group),my.ppr)
> Error in model.frame.default(formula = award ~ ilogemp, data = x) :
> Object "x" not found
>
> Any help would be greatly appreciated.
> (I am sure I am misunderstanding some fundamental R concepts.)

It is hard to help, if we don't know what all those variables stand for.
I tried something similar and it worked.
What version of R are you running?

Uwe Ligges

-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
r-help mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html
Send "info", "help", or "[un]subscribe"
(in the "body", not the subject !) To: r-help-request@stat.math.ethz.ch
_._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._


About this list Date view Thread view Subject view Author view

This archive was generated by hypermail 2b30 : Fri 22 Jun 2001 - 18:58:36 EST