无法使用 R shiny 服务器部署 googleVis 动态图表

Unable to deploy the googleVis motion chart using R shiny server

虽然图表显示在其他 IE window 而不是 RStudio 的内部 window 上,但它在我自己的计算机上显示得很好。 然而,当我使用 R Shiny 服务器在网络上部署 googleVis 运动图表时,此错误消息显示:

  Error: $ operator is invalid for atomic vectors

我还使用以下命令检查了它们,结果表明它们不是原子的:

  >is.recursive(Fruits)
  [1] TRUE
  >is.atomic(Fruits)
  [1] FALSE

可重现的代码如下,我将其简化并使用内部数据"fruit"进行演示;问题依旧,动图在IE9中没有出现在同一个window中,而是出现在另一个window中。 当使用 shiny-server 部署时,情况变得更糟,动态图表根本没有出现并显示相同的错误消息

服务器。 R

  library(googleVis)
  library(shiny)
  shinyServer(function(input, output) {
    output$motionchart2 <- renderGvis({
     M1 <- gvisMotionChart(Fruits, idvar="Fruit", timevar="Year")
     plot(M1)
   })
  })

UI.R

  library(shiny)
  library(googleVis)
  shinyUI(fluidPage(
  titlePanel("Analysis"),
  mainPanel(
   navlistPanel(
    tabPanel("MotionChart",h1("Motion Chart"),tableOutput("motionchart2"))
  )
 )
 ) 
 )

在 renderGivs 部分渲染图表时不需要 plot 函数。我稍微修改了您代码的服务器部分。当您 运行 应用程序时,您必须在浏览器中打开它,否则图表将不会显示。

library(shiny)
library(googleVis)

ui = shinyUI(fluidPage(
    titlePanel("Analysis"),
    mainPanel(
        navlistPanel(
            tabPanel("MotionChart",h1("Motion Chart"),tableOutput("motionchart2"))
        )
    )
))

server = shinyServer(function(input, output) {
    output$motionchart2 <- renderGvis({
        gvisMotionChart(Fruits, idvar="Fruit", timevar="Year")
    })
})

runApp(list(ui = ui, server = server))