使用计时器连续运行`demo()`以便在事件之间进行更改

Gee*_*cid 1 time r presentation demo

让我们说我正在运行demo(graphics),我想控制连续绘图显示的速度.通常,当我运行时,demo(graphics)我可以通过按Enter键控制何时显示下一个绘图(这样可以触发下一个功能demo()).但是我不想按下回车 - 我希望它自己运行,在绘图显示之间进行时间控制的变化(例如,绘图会每6秒更改一次,接下来会在3秒后更改,等等).下面是一个残酷的代码,demo()在2秒后在两个函数之间进行更改.我也运行demo()快速模式下使用echo=FALSE.但我想在一个单独的内容中做到这一点demo()(example()如果可能的话也是如此).

  library(tcltk2)
  test1 <- function() demo(graphics,echo=F)
  test2 <- function() demo(lm.glm, package="stats",echo=F)
  tclTaskSchedule(2000, test1())
  Sys.sleep(2)
  tclTaskSchedule(2000, test2())
  Sys.sleep(2)
Run Code Online (Sandbox Code Playgroud)

Sim*_*nek 7

只需设置before.plot.new挂钩即可添加延迟:

setHook("before.plot.new", function(...) Sys.sleep(1))
demo(graphics, ask=F)
Run Code Online (Sandbox Code Playgroud)