如何为演示教程创建演示?

时间:2011-09-16 02:02:46

标签: r demo

我想准备一个演示(将按顺序播放)演示教程...有人可以帮助我如何编写演示,假设以下是演示中的步骤......

#start 
set.seed(1345)
x1 <- sample(letters[1:10], 5)
x1 
sort(x1)
x <- sample(1:10, 5)  
 y <- sample(c(11:20), 5)
require(lattice) 
plot(x,y)
z <- rnorm(5, 1, 0.5)
dataframe <- data.frame(x, y, z)
model1 <- lm(y ~x)
aov(model1)
#end

抱歉,我可以在搜索数小时和数天后找到解决方案。我感谢您的帮助。

2 个答案:

答案 0 :(得分:2)

另一种方法:

  1. 将脚本保存在文件(demo.R
  2. 编辑脚本并在战略位置使用pause()撒上
  3. 在R中,定义pause <- function() invisible(readline())
  4. 使用source("demo.R", echo=TRUE)
  5. 运行脚本

    然后打印&amp;运行您的命令并停止并等待喷洒的pause()输入。只需按<Enter>即可继续。

    编辑:我不知道隐藏pause()语句的好方法。一种可能的方法是复制source()的代码并修改它以跳过打印到pause()的调用,但我认为这有点过头了......

    ...但您可以将暂停功能重命名为您喜欢的任何内容 - 包括'....',但仍需要像下面这样调用它:....()

    嗯。也许是这样的:

    '....' <- function(...) invisible(readline())
    

    然后将脚本撒上:

    ....('Press Enter to continue')
    # Or
    ....(Press_Enter_to_continue)
    

    如果将暂停功能重命名为Pausing...,则另一种可能性:

    Pausing...(Press_Enter)
    

答案 1 :(得分:1)

做你想做的事的一种hacky方式是:

  • 将命令保存为脚本,例如testDemo.r
  • 复制到现有包的演示文件夹,例如<Library>/base/demo
  • 使用demo(testDemo,package="base")
  • 运行

但是它会在页面而不是命令中暂停。但最终,您可能希望创建自己的包以包含自定义演示。

修改

似乎demo的代码主要用于检查是否存在演示,核心非常简单:

op <- options(device.ask.default=TRUE)
source("testDemo.r",echo=TRUE,max.deparse.length=Inf,keep.source=TRUE)
options(op)

请注意,任何暂停只能通过图形的存在来完成,而不是任何长度的回音文本,就像demo的情况一样。