要查看R中包中的所有内容(而不仅仅是对象)

时间:2012-09-25 01:30:48

标签: r

这可能是一个新手的问​​题,但我认为我完成了我的作业,但还没有找到答案(我希望找到),所以我在这里张贴以寻求帮助。

以前曾问过类似的问题,但从我发现的问题来看,没有任何答案可以帮助我解决当前问题,除了“昂贵”的解决方案,需要R的编辑。

我了解到lsobjects允许我们查看包中的对象。但即使使用ls(all.names=TRUE),我仍然看不到所有内容。有人建议ls(getNAMEspace),但这对我来说还不够“好”。

e.g。

>search()
[1]".GlobalEvn"      "package:TCGAGBM"
>ls("package:TCGAGBM")
character(0)
>ls(getNamespace("TCGAGBM"),all.names=TRUE)
[1]"._NAMESPACE_."   "._S3MethodsTable_."  ".packageName"

但是,在C(cmd)下,我看到以下

  

C:\用户\ XYZ \文件\ r \ R-2.15.1 \库\ TCGAGBM    。 .. data extdata ......(共3个文件,7个Dir(s))

当我看到下面的脚本行时,我遇到了这种“差异” -

>clinical=read.delim(system.file(
+"extdata/Clinical/clinical_patient_public_GBM.txt.gz",
+package="TCGAGBM"), header=TRUE)

因此,我想知道在R下是否有办法查看包中的所有内容,以便我们“知道”如何更好地利用包。 Vignette可能会有所帮助,但由于我迄今为止对R的经验有限,我发现有些软件包没有附带Vignette。

任何评论都将不胜感激,以帮助我了解更多有关R。

的信息

3 个答案:

答案 0 :(得分:5)

我的首选方法到目前为止只是查看相关软件包的源代码

事实上,我实际上经常这样做,因为运行CRANberries会创建一个本地CRAN镜像作为副作用。但即使你不这样做,CRAN软件包实际上只是快速下载,并且会在解析后的代码排除的源代码中带有注释

编辑:我刚刚找到了Ben发现的内容:Sean Davis在http://watson.nci.nih.gov/~sdavis/tutorials/TCGA_data_integration/的页面 - 看起来它也使用了一些BioC包。我仍然会研究源代码,这些源代码通常包含更多注释,注释,附加内容,...而不是已安装的软件包。但也许这只是我的偏好。正如他们所说的YMMV。

答案 1 :(得分:4)

这是探索任何软件包功能的另一种方法。虽然它不像Dirk那样全面,但它仍然有用。当我想知道包的所有功能时,我会快速列出它的所有功能。然后,如果我对任何功能感到好奇,我会快速提取帮助文件?function_name并查看其功能。出于这个原因,我将此功能保留在.rprofile中,因此每次运行R时都会自动加载。

lsp <- function (package, all.names = FALSE, pattern) {
    package <- deparse(substitute(package))
    ls(pos = paste("package", package, sep = ":"), all.names = all.names, 
        pattern = pattern)
}

当我知道函数的部分名称及其所属的包但很快找到它时,这尤其有用。

e.g。

> lsp(ggplot2, pattern = "geom")
 [1] "geom_abline"          "geom_area"           
 [3] "geom_bar"             "geom_bin2d"          
 [5] "geom_blank"           "geom_boxplot"        
 [7] "geom_contour"         "geom_crossbar"       
 [9] "geom_density"         "geom_density2d"      
[11] "geom_dotplot"         "geom_errorbar"       
[13] "geom_errorbarh"       "geom_freqpoly"       
[15] "geom_hex"             "geom_histogram"      
[17] "geom_hline"           "geom_jitter"         
[19] "geom_line"            "geom_linerange"      
[21] "geom_map"             "geom_path"           
[23] "geom_point"           "geom_pointrange"     
[25] "geom_polygon"         "geom_quantile"       
[27] "geom_raster"          "geom_rect"           
[29] "geom_ribbon"          "geom_rug"            
[31] "geom_segment"         "geom_smooth"         
[33] "geom_step"            "geom_text"           
[35] "geom_tile"            "geom_violin"         
[37] "geom_vline"           "update_geom_defaults"

答案 2 :(得分:3)

如果想查看特定pacakges的所有系统文件

尝试类似

的内容
list.files(system.file(package = 'TCGAGBM'), recursive = T, full.names = T)) 

这将取决于您的操作系统,因为安装软件包的方式取决于操作系统

请参阅R Installation and Administration manual中的相应部分以获取更多详细信息。

@ DirkEddelbuettel关于检查源的建议是更好的方法。