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

How to list all demos and their sources of an R package

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

demo(name_of_demo_file)

特别是,我正在寻找一种无需下载源代码和浏览 demo 目录即可实现此目的的方法。

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

找到它

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

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)
...