Re: [R] Odp: Aggregation and the meaning of class

From: Petr PIKAL <petr.pikal_at_precheza.cz>
Date: Tue, 03 Jun 2008 09:41:44 +0200

Hi Chip

Maybe some more experienced users can direct you to proper source of information but in case of programming there are several books which can be of some use (I do not have any of them so its only my guess from their names). See items 1, 3 and 5 from CRAN Books page.

Regards

Petr
petr.pikal_at_precheza.cz
724008364, 581252140, 581252257

r-help-bounces_at_r-project.org napsal dne 02.06.2008 16:14:32:

> Hi Petr,
> Thanks for your reply. See below.
>
> At 05:58 AM 6/2/2008, Petr PIKAL wrote:
> >Hi
> >
> >I did not see any response yet so I try a kick. Each object in R has
some
> >attributes which can be revealed by
> >
> >attributes(object)
> >
> >Some of them are useful for methods and tell R how to handle particular
> >object with a method. There are other options how to evaluate your
object
> >e.g. str, typeof, mode. If you went through intro manual you could find
> >that there are different types of objects like vectors, matrices,
> >data.frames, arrays, and lists. And probably some others.
> >
> >Output from by is list or array and you can handle such objects in many
> >ways.
>
> I understand all this in general. I am a C++ programmer with decades
> of experience, so I fully understand object-oriented concepts.
>
> My question is: How does one learn the specifics? For the case at
> hand, what are the specialized methods associated with class "by"?
> Are there clever things I can do with it? Is there documentation for
> class "by"? What are the browsing/exploring approaches one might use
> to learn about that class?
>
> So far, the main approach I have is interactive experimentation,
> yielding slow knowledge accretion. Is there anything more
> efficient? I have a moderate pile of R books, they are helpful, but
> obviously don't cover every detail of every situation.
>
>
> >BTW it is hard to tell what is desired result is as we do not have D60.
>
> Agreed and I could supply some example data if you want.
>
> I speculated that experienced users could answer my question on
> formal grounds, but perhaps this speaks to my general issue:
> questions like this aren't easily answered without running experiments.
>
> At the moment, my code "seems to be working." I don't find that very
> reassuring. I may have to get used to an "R culture" that is
> different from my prior world.
>
>
> >Eg. when I do
> >
> > > WM = by( D60, D60[ "KeyProfA"], FUN=function(x) weighted.mean(
x$IAC,
> >x$Wt))
> >Error in by(D60, D60["KeyProfA"], FUN = function(x)
weighted.mean(x$IAC, :
> >
> > object "D60" not found
> >
> >I get an error.
> >
> >Better then using by is maybe to use ave which retains number of rows,
but
> >I am not sure if it can be adopted to weighted mean.
> >
> >Regards
> >
> >Petr
> >petr.pikal_at_precheza.cz
> >724008364, 581252140, 581252257
> >
> >
> >r-help-bounces_at_r-project.org napsal dne 30.05.2008 16:00:50:
> >
> > > Dear R-ers,
> > >
> > > My aggregation saga continues.
> > >
> > > Using the following sequence, I can calculate any statistic for row
> > > groups and merge the result back to all associated rows ...
> > >
> > > > WM = by( D60, D60[ "KeyProfA"], FUN=function(x) weighted.mean(
x$IAC,
> >x$Wt))
> > >
> > > > D60$IAC.WM = as.numeric( WM[ D60$KeyProfA])
> > >
> > > > class( WM)
> > > [1] "by"
> > >
> > > Questions ...
> > >
> > > 1) Is this a reasonable way to obtain the desired result?
> > >
> > > 2) What can one glean by knowing the class of WM ("by")? It appears
> > > to me that class is a pretty shallow attribute in R ... just an
> > > associated string that selects among methods in some contexts. Is
> > > that really all there is to it? Is there a way to discover what
> > > generic methods are aware of a given class? In other words, who
> > > cares if WM is a "by" ... what does that do for me?
> > >
> > > In my traditional universe (C++) I can grep and discover what
methods
> > > are virtual, who inherits from whom, etc. In R, the documentation
> > > appears silent on what is a "by" (correct me if I'm wrong). In
> > > addition, I have found no way to broadly search code to learn
> > > things. (Displaying single functions is useful but hardly broad.)
> > >
> > > How does one learn R more efficiently than randomly discovering how
> > > to avoid error messages? (For example, I now know that a "by"
cannot
> > > be coerced into a data.frame (although it seems to me that such a
> > > conversion could be usefully defined), so now I don't hit myself on
> > > the head with that particular hammer.)
> > >
> > > Chip Barnaby
> > >
> > >
> > >
> > >
> > >
> > >
> > > ---------------------------------------------------------
> > > Chip Barnaby cbarnaby_at_wrightsoft.com
> > > Vice President of Research
> > > Wrightsoft Corp. 781-862-8719 x118 voice
> > > 131 Hartwell Ave 781-861-2058 fax
> > > Lexington, MA 02421 www.wrightsoft.com
> > >
> > > ______________________________________________
> > > R-help_at_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.
>
> ---------------------------------------------------------
> Chip Barnaby cbarnaby_at_wrightsoft.com
> Vice President of Research
> Wrightsoft Corp. 781-862-8719 x118 voice
> 131 Hartwell Ave 781-861-2058 fax
> Lexington, MA 02421 www.wrightsoft.com
>
> ______________________________________________
> R-help_at_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.



R-help_at_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. Received on Tue 03 Jun 2008 - 07:51:53 GMT

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Tue 03 Jun 2008 - 08:30:37 GMT.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-help. Please read the posting guide before posting to the list.

list of date sections of archive