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
[EMAIL PROTECTED]
724008364, 581252140, 581252257


[EMAIL PROTECTED] 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                   [EMAIL PROTECTED]
> 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@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                   [EMAIL PROTECTED]
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@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.

Reply via email to