如何列出R包的所有演示及其来源

时间:2015-04-18 21:54:36

标签: r demo r-package

我想知道是否有一个特殊的命令来列出包的所有演示程序(R脚本)并检查它们的内容而不运行它们,即不使用

demo(name_of_demo_file)

特别是,我正在寻找一种方法来实现这一目标,而无需下载源代码并浏览 demo 目录。

1 个答案:

答案 0 :(得分:2)

正在运行demo(package = "stats")会显示演示列表。虽然该功能不允许您在不运行代码的情况下访问代码,但您可以从包源中提取该代码。您已经安装了源代码,因此无需重新下载源代码,并且可以使用system.file在R中找到它。

例如,您可以编写一个简短的函数:

print_demo_code <- function(demo, package) {
    demo_file <- system.file("demo", paste0(demo, ".R"), package = package)
    cat(readLines(demo_file), sep = "\n")
}

例如:

print_demo_code("nlm", package = "stats")

显示:

#  Copyright (C) 1997-2009 The R Core Team

### Helical Valley Function
### Page 362 Dennis + Schnabel

require(stats); require(graphics)

theta <- function(x1,x2) (atan(x2/x1) + (if(x1 <= 0) pi else 0))/ (2*pi)
## but this is easier :
theta <- function(x1,x2) atan2(x2, x1)/(2*pi)
...