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 > someth...@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@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 ______________________________________________ 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.