[问题] shiny跑出来的速度很慢

楼主: a3236852 (serena)   2018-03-14 16:15:30
[问题类型]:
效能咨询(我想让R 跑更快)
[软件熟悉度]:
入门(写过其他程式,只是对语法不熟悉)
[问题叙述]:
我用R做了一个股票回测,在放到shiny上,但是回测图很慢才跑出来,超过10秒
我不确定问题出在哪里,我想了几个可能
1.macd(技术指标)的方法我是自己写的,因为原本的套件跑出来的值跟我要的有点不一样,
我照着公式写出来,但是写的方法是土法炼钢,有用到循环,我知道用到循环速度会慢,
但不知道该怎么改
2.选择要什么决策我用checkbox group,假设我今天checkbox写KD>80,macd<50
抓到的值
K <- "K>80" %in% input$checkstrategy
M <- "macd<50" %in% input$checkstrategy
我用if else的方式把所有可能穷尽
像是 if(K){cond=kd<80}
else if (K&M){cond=kd<80&Macd<50}
else if (M){cond=Macd<50}
像是这样,我前面有看到一篇一样是shiny的,但我还是看不懂如何简化跟怎么
把我要的公式设成条件
3.方法该放在哪里,放在output$Strategy <- renderPlot({})输出还是放在
shinyServer(function(input, output) {}里面
或是放在shinyServer(function(input, output) {}外面
问题有点杂乱,不好意思~
只是希望能以正常的速度跑出来就好了
不晓得为什么跑出来的速度很慢
[程式范例]:
程式码没有很完整,请见谅
这是1跟2相关的程式码
https://ideone.com/cZ8153
[环境叙述]:
3.4.1
[关键字]:
shiny,速度
作者: clansoda (小笨)   2018-03-14 16:49:00
建议你把每个chunk都time看看,才知道往哪边优化基本上就是除掉shiny code, 把里面做的事情time看看吧shinyapp也只是在对方的server上跑R而已如果很慢很有可能是其中几个chunk向量化的等级不够
作者: celestialgod (天)   2018-03-14 21:37:00
有资料吗,code也没注解,其实不知道怎么帮你做有完整一点的资讯,板友们会比较容易帮你找到问题

Links booklink

Contact Us: admin [ a t ] ucptt.com