R ggvis和shiny:layer_model_predictions(model =“lm”)错误...尝试复制'closure'类型的对象

时间:2014-09-14 03:17:26

标签: r shiny ggvis

我尝试使用带闪亮的ggvis,但我的测试样本出现了一些错误。代码在此消息的末尾。

只有在我尝试使用闪亮运行ggvis时才会出现以下错误消息:

Guessing formula = mpg ~ wt
Error in rep(col, length.out = nrow(data)) : 
   attempt to replicate an object of type 'closure'

如果我在server.R中注释掉该行

layer_model_predictions(model = "lm") %>%

我不会收到错误消息,闪亮的应用程序运行正常,除了我没有得到线性拟合线。代码的ggvis部分也可以在不使用闪亮的情况下正常运行。我想它与闪亮的反应数据集有关,但我不知道找到快速修复。

有什么建议吗?

非常感谢您的帮助!

ui.R

library(ggvis)
shinyUI(pageWithSidebar(

  div(),

  sidebarPanel(
    sliderInput("n", "Number of points", min = 1, max = nrow(mtcars),
                value = 10, step = 1)
  ),

  mainPanel(
    ggvisOutput("plot"),
    tableOutput("mtc_table")
  )

))

server.R

library(shiny)
library(ggvis)
library(dplyr)

shinyServer(function(input, output, session) {

  mtc <- reactive({

            mtc <- mtcars[1:input$n, ]
            mutate(mtc, carname=rownames(mtc), id = 1:nrow(mtc))
  })


  all_values <- function(x) {

      if(is.null(x)) return(NULL)
      row <- mtc()[mtc()$id == x$id, ]
      row$carname

  }

  mtc %>%
         ggvis(x= ~wt, y= ~mpg, key := ~id, fill = ~factor(cyl)) %>%
         layer_points() %>%
         group_by(cyl) %>%
         add_tooltip(all_values,"hover") %>%
         layer_model_predictions(model = "lm") %>%
         bind_shiny("plot")

  output$mtc_table <- renderTable({
    mtc()[, c("carname", "wt", "mpg", "cyl")]
  })
})

0 个答案:

没有答案