我正在尝试为我的统计课程制作一些演示。除此之外,我想展示所涉及的逐步过程。对于我正在寻找的简化示例,请考虑以下小玩具 R 函数:
toyPlot <- function() {
x <- 1:100/100
y <- x+rnorm(100,0,0.2)
plot(x,y)
Sys.sleep(2)
abline(lm(y~x))
Sys.sleep(2)
title(main="Fitted Line Plot")
}
它绘制散点图,等待两秒钟,添加 LSR 线,等待两秒钟,然后添加标题。
现在,当我在闪亮中执行相同操作时,它会等待整整 4 秒,然后立即完整绘制图表。
我花了一些时间寻找解决方案,发现了一些看起来有用的命令(session$onFlushed、invalidateLater、reactiveTimer),但我无法让它们中的任何一个执行我想要的操作。
为什么不将绘图输出绑定到动画滑块的值?您可以控制每个阶段的持续时间animationOptions
.
ui <- fixedPage(
plotOutput('myplot'),
sliderInput('myslider', 'Steps', min=1, max=3, value=1, animate=animationOptions())
)
server <- function(input, output, session) {
x <- 1:100/100
y <- x + rnorm(100, 0, 0.2)
pfs <- list(
function() plot(x, y) ,
function() abline(lm(y~x)),
function() title(main='Fitted line plot')
)
output$myplot <- renderPlot({
for (i in 1:input$myslider) pfs[[i]]()
})
}
runApp(list(ui=ui, server=server))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)