2

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

#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

抱歉,经过数小时和数天的搜索,我找到了解决方案。我感谢您的帮助。

4

2 回答 2

2

另一种方法:

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

然后它将打印并运行您的命令并停止并等待在洒的输入pause()。只需点击<Enter>继续。

编辑:我不知道隐藏pause()声明的好方法。一种可能的方法是复制代码source()并对其进行修改以跳过对 的打印调用pause(),但我认为这有点矫枉过正......

...但是您可以将 pause 函数重命名为您喜欢的任何内容 - 包括'....',但您仍然需要像这样调用它:....()

嗯。也许是这样的:

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

然后在你的脚本上撒上:

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

如果您将暂停功能重命名为Pausing...

Pausing...(Press_Enter)
于 2011-09-16T15:22:37.677 回答
1

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

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

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

编辑

看起来代码demo主要是为了检查demo是否存在,核心很简单:

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

请注意,任何暂停仅由图形的存在完成,而不是任何长度的回显文本,就像demo.

于 2011-09-16T15:06:26.340 回答