繁体   English   中英

如何在 R Shiny 和 plotly 中处理大量数据?

[英]How to work with huge data in R Shiny and plotly?

如果可能,我需要在 R Shiny 中处理非常大的文件(超过一百万行)。 问题不在于数据分析——而是弄清楚如何在合理的时间内显示这么多数据——更重要的是,能够通过范围滑块和数据选择工具(套索、点选择)与其进行交互。 在我对我的项目进行更深入的讨论之前,我只是有一个关于此可行性的一般性问题,并希望了解人们的想法。 基本上,我是在浪费时间吗?

我真的不需要一次显示所有数据(通过时间序列图),但如果可能的话会很好。 如果我能让范围滑块更快地工作,那将是巨大的。 我还没有遇到过显示这种类型的性能优化的代码,但它可能就在那里。

无论如何,如果有人对如何做到这一点有想法,或者可以指出我要遵循的方向,那就太好了。 谢谢!

Plotly 在浏览器中加载绘图的所有数据,因此图形中可用的点数主要取决于客户端计算机的性能及其与服务器的带宽。 在我的配置中,1M 点的加载速度有点慢(10 秒),但之后可以正常工作。

您可以使用这个小应用程序检查您的配置: 在此处输入图片说明

library(shiny)
library(plotly)

shinyApp(
  ui = shinyUI(fluidPage(
    titlePanel("Plotly test"),
    sidebarLayout(sidebarPanel(
      selectInput(
        "nb",
        "Number of points",
        choices = c(
          "1K"   = 1000,
          "10K"  = 10000,
          "100K" = 100000,
          "1M"   = 1000000,
          "10M"  = 10000000
        )
      )
    ),
    mainPanel(plotlyOutput("plot")))
  )),
  server = function(input, output, session) {
    output$plot <- renderPlotly(plot_ly(
      data.frame(x = 1:input$nb,
                 y = rnorm(input$nb)),
      x =  ~ x,
      y =  ~ y
    ) %>%
      add_lines())
  }
)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM