簡體   English   中英

使用dplyr中的filter_時,RStudio Shiny崩潰

[英]RStudio Shiny crashes when using filter_ from dplyr

我正在Shiny應用程序中使用dplyr的filter_函數過濾數據集。 我用try()包圍評估,以便可以捕獲錯誤。 在某些情況下,例如使用空過濾器字符串,這可以按預期工作。 但是,如果過濾器字符串包含不在data.frame中的變量,則Shiny會完全崩潰。

以以下代碼為例-如果過濾器字符串只是“”,則Shiny返回錯誤(如預期)。 但是,如果在z不存在的情況下包含“ z == 1”,則應用程序將崩潰(不期望!)。

library(shiny)
library(dplyr)
testapp <- shinyApp(
  ui = bootstrapPage(
    numericInput('n', 'Number of obs', 100),
    plotOutput('plot'),
    uiOutput("whyfail")
  ),

  server = function(input, output) {
    output$plot <- renderPlot({ hist(runif(input$n)) })


    output$whyfail<-renderUI({
      input$n
      dat<-data.frame(a=LETTERS[1:5], b=1:5)
      xx<-try(filter_(dat, ""), silent = TRUE)# returns an error as expected
      #xx<-try(filter_(dat, "z==1"), silent = TRUE) # crashes Shiny
      HTML(paste(attr(xx, "class"), collapse = '<br/>'))
    })



  }
)
runApp(testapp)

更新

我的dplyr版本是0.4.2,閃亮的是0.12.1。 兩次更新:首先,如果我在基本R GUI(而不是RStudio)中運行,則看不到崩潰。 另外,如果我根本不加載dplyr,則代碼可以正常運行而不會崩潰。 考慮到我希望filter_()依賴於dplyr而使代碼運行,我感到驚訝,而Shiny似乎沒有導入dplyr或filter_() )。

但是我需要dplyr,所以我希望繼續使用RStudio,以便我們提供任何幫助。

更新2

我在Windows 7 v 0.99.446中使用RStudio

更新3

不確定放置此內容的最佳位置。 但這似乎是一個真正的錯誤,RStudio正在解決該錯誤,您可以在此鏈接中看到https://github.com/rstudio/shiny/issues/879

原來這是Rcpp軟件包的問題,​​RStudio現在已經解決了。 您可以在此處查看討論和解決方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM