无法使用R闪亮服务器

时间:2015-10-07 08:43:11

标签: r shiny googlevis

动态图表在我自己的计算机上显示得很好,尽管图表显示在另一个IE窗口而不是RStudio的内部窗口。 但是,当我使用R Shiny服务器在web上部署googleVis动态图表时,此错误消息显示:

  Error: $ operator is invalid for atomic vectors

我还使用下面的命令检查了它们,它显示它们不是原子的:

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

可重复的代码如下,我简化了它并使用内部数据“fruit”来演示它;问题仍然存在,动态图表没有显示在同一个窗口中,而是出现在IE9的另一个窗口中。 当使用闪亮服务器部署时,它会变得很糟糕,动态图表根本没有出现并显示相同的错误消息

服务器。 [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"))
  )
 )
 ) 
 )

1 个答案:

答案 0 :(得分:1)

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

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))