[R] opening RDB files
hb at maths.lth.se
Thu Jul 21 18:52:14 CEST 2005
Emili Tortosa-Ausina wrote:
> Hi all,
> I've recently upgraded to R version 2.1.1 and when trying to inspect the
> contents of many packages in the library (for instance library\MASS\R) I've
> realized wordpad, or the notepad, won't open them since they have *.RDB and
> *.RDX extensions which these editors cannot recognize.
> However, libraries in previous versions of R did not have these extensions
> and I could inspect the contents of each package without any trouble.
The *.rdb etc are the new compact package file formats introduced around
R v2.0.0; these are binary files that won't make much sense to look at.
It was only in version before this you could inspect the R code by
looking at the file <pkg>/R/<pkg>.R in a text file viewer/editor.
To look at the code now, you have to either download the source of the
package you're interested in (look for the *.tar.gz files), or you can
always do it from within R, e.g. print(read.table). If the the function
you want to look at gives "UseMethod" and so on, you're looking at a
generic function, e.g. print(print):
function (x, ...)
then you want to track down the method for your specific object. To find
all implementation of "print", use methods(), e.g. methods(print):
 print.acf* print.anova
 print.aov* print.aovlist*
 print.ar* print.Arima*
 print.arima0* print.AsIs
 print.Bibtex* print.by
 print.vignette* print.xgettext*
 print.xngettext* print.xtabs*
Then do, say, print(print.by) and you'll see the code. All method with
an asterisk are namespace protected methods. To get these you have to
use getAnywhere(), e.g. print(getAnywhere("print.acf")).
Why the new file format? It is used for package that utilized lazy
loading, which more and more package now use (packages without lazy
loading can still be inspected the "old" way). Thanks to lazy loading,
packages now loads more or less instantainously. They are also more
memory efficient, because all code is not loaded at once.
> I've been searching for this thread but did not find it.
> Thank you!
> R-help at stat.math.ethz.ch mailing list
> PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
More information about the R-help