我想知道是否有一个特殊的命令来列出包的所有演示程序(R脚本)并检查它们的内容而不运行它们,即不使用
demo(name_of_demo_file)
特别是,我正在寻找一种方法来实现这一目标,而无需下载源代码并浏览 demo 目录。
答案 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)
...