To add to what David said ...

Of course, there are already S3 "getters" and "setters" methods for data
frames ("[.data.frame" and "[<-.data.frame" )*. These could clearly be
extended -- i.e. the data.frame class could be extended and appropriate S3
methods written. Whether you use S3 or S4 depends on the degree of control,
type checking, reuse etc. you want/need. David's suggestion to look at
Bioconductor is a good one.

Cheers,
Bert
*If you are unfamiliar with the S3 extract methods, consult the R Language
Definition Manual.

On Fri, Aug 31, 2012 at 8:14 AM, David Winsemius <dwinsemius@comcast.net>wrote:

>
> On Aug 31, 2012, at 5:57 AM, Ramiro Barrantes wrote:
>
> > Hello,
> >
> > I have again a "good practices"/programming theory question regarding
> data.frames.
> >
> > One of the fundamental objects that I use is the data frame with a
> particular set of columns that I would fill or get information from, and an
> entire system would revolve around getting information from or putting
> information to such data.frame.
> >
> > On a different OOP programming language I would be tempted to create a
> class that would "wrap-around" that data.frame and create "getters" and
> "setters" methods that would return whatever information I need. I started
> doing that using S4.
> >
> > Does anyone have examples of packages that use that approach or any
> suggestions?  It just seems to me that a class/object would be a better
> idea because it would create a single, hopefully well validated way to
> access information and edit the fundamental data.frame object, which would
> be helpful if there are several programmers on the team and/or if some of
> the data.frame manipulations are not straightforward and are best left
> encapsulated in a method of a class, and then have people use that method.
>  I would just like to know if there are reasons not do it that way and if
> there are any examples of packages that use that approach and that I can
> learn from.
>
> You could argue that the entire BioConductor project represents such an
> effort. It makes extensive use of S4 methods. I'm not a user so cannot
> readily point to examples of S4 functions that have set. and get. methods
> for particular sorts of dataframes, but I suspect you can pose the same
> question on the BioC mailing list and get a more informed answer.
>
> --
> David Winsemius, MD
> Alameda, CA, USA
>
> ______________________________________________
> 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.
>



-- 

Bert Gunter
Genentech Nonclinical Biostatistics

Internal Contact Info:
Phone: 467-7374
Website:
http://pharmadevelopment.roche.com/index/pdb/pdb-functional-groups/pdb-biostatistics/pdb-ncb-home.htm

	[[alternative HTML version deleted]]


