[R] Methods to explore R data structures
Martin Morgan
mtmorgan at fhcrc.org
Thu May 27 14:50:01 CEST 2010
On 05/27/2010 02:13 AM, Timothy Wu wrote:
> Hi,
>
> I'm very confused about R structures and the methods to go with them.
> I'm using R for microarray analysis with Bioconductors. Suppose
> without reading the documentations, what's the best way to explore a
> data structure when you know nothing about it?
probably by reading the documentation, especially vignettes
> browseVignettes("Biobase")
and then switching to your web browser. If you're asking about
Bioconductor functionality in particular, then the Bioconductor mailing
list is appropriate
http://bioconductor.org/docs/mailList.html
>
> I am currently using is() / class() to see what the object is. str()
> / attributes() to probe inside the object, and
> something at something$something to walk it and explore. Is there any
This looks at the structure, but many classes will want to be
manipulated by their API.
> other way? . Also, without reading documentations, is there a way to
> know what functions are available to extract data from it? For
> example, there is sampleNames() which works on ExpressionSet and
> AnnotatedDataFrame (which is a part of ExpressionSet). How do I know
> they are available (as sometimes I can't recall where I've seen them
> and I forgot the function names). And what are R functions? Are
> those
For an S4 object 'x', I'd
class(x)
getClass(cls)@package
followed by
showMethods(classes='ExpressionSet',
where=getNamespace('Biobase'))
or
cls <- c(class(x), getClass(class(x))@contains)
pkg <- getClass(cls)@package
showMethods(classes=cls, where=getNamespace(pkg))
and conversely
showMethods(sampleNames, where=getNamespace(pkg))
Methods for S3 classes can be found in a similar way, but using
'methods'. Both of these only discover classes in packages that are
loaded in the currently active session. This will miss plain old
functions that don't declare what type of object they intend to operate
on. If whan you say 'what are the R functions' you're asking for the
function definition, then
selectMethod(sampleNames, 'ExpressionSet')
> two separate functions or polymorphic functions? I'm also pretty
sampleNames is a generic. There are methods that operate on eSet (a base
class of ExpressionSet), and on AnnotatedDataFrame.
> confused about S3, S4, or the regular list. I guess I'm fairly
> confused about R in general.
For S4
?Methods
?Classes
For S3, maybe section 10.9 of RShowDoc('R-intro')
Martin
>
> Any good source of reading (hopefully short and understandable, too)
> would be appreciated. Thanks.
>
> Timothy
>
> [[alternative HTML version deleted]]
>
> ______________________________________________ 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.
--
Martin Morgan
Computational Biology / Fred Hutchinson Cancer Research Center
1100 Fairview Ave. N.
PO Box 19024 Seattle, WA 98109
Location: Arnold Building M1 B861
Phone: (206) 667-2793
More information about the R-help
mailing list