10

这可能是新手的问题,但我想我做了功课,但还没有找到答案(我希望能找到),所以我把它贴在这里寻求帮助。

以前也有人问过类似的问题,但根据我的发现,除了“昂贵”的解决方案(需要 R 的编辑器)之外,没有其他答案可以帮助我解决当前的问题。

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

例如

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

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

C:\Users\XYZ\Documents\R\R-2.15.1\library\TCGAGBM 。.. 数据 extdata ......(共 3 个文件,7 个目录)

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

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

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

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

4

3 回答 3

5

这是探索任何包的功能的另一种方法。尽管它没有 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)
}

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

例如

> 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"
于 2012-09-25T04:27:38.720 回答
5

到目前为止,我首选的方法是简单地查看相关包的源代码

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

编辑:我刚刚发现 Ben 也发现了什么:Sean Davis 的页面http://watson.nci.nih.gov/~sdavis/tutorials/TCGA_data_integration/——看起来它也使用了一些 BioC 包。我仍然会研究通常比已安装的包有更多评论、注释、额外内容的源代码。但也许这只是我的偏好。正如他们所说的那样。

于 2012-09-25T01:38:50.657 回答
4

如果您想查看特定软件包的所有系统文件,请尝试类似

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

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

有关详细信息,请参阅R 安装和管理手册中的相应部分。

笔记

@DirkEddelbuettel 建议检查源代码是一种更好的方法。

于 2012-09-25T02:20:48.880 回答