在 Shinydashboard 中渲染 ggplot 时出现致命错误

     2023-02-16     189

关键词:

【中文标题】在 Shinydashboard 中渲染 ggplot 时出现致命错误【英文标题】:Fatal error when rendering ggplot in shinydashboard 【发布时间】:2021-11-15 12:02:56 【问题描述】:

在闪亮仪表板中渲染 ggplot 时出现 R 致命错误(重磅炸弹 -> 重新启动会话)。基本 hist 绘图的渲染工作得很好,但是使用 ggplot,它开始渲染仪表板,然后是滑块框,一个空框,用于 ggplot 应该在的位置,然后崩溃。

这是我尝试渲染的应用程序的代码,对shinydashboard tutorial 稍作修改:

## app.R ##
library(shinydashboard)
library(ggplot2)

ui <- dashboardPage(
    dashboardHeader(title = "Basic dashboard"),
    dashboardSidebar(),
    dashboardBody(
        # Boxes need to be put in a row (or column)
        fluidRow(
            box(plotOutput("plot1", height = 250)),
            box(
                title = "Controls",
                sliderInput("slider", "Number of observations:", 1, 100, 50)
            )
        )
    )
)

server <- function(input, output) 
    set.seed(122)
    histdata <- rnorm(500)
    
    output$plot1 <- renderPlot(
        data <- data.frame(y = histdata[seq_len(input$slider)])
        ggplot(data, aes(x=y)) + geom_histogram()
        #hist(data$y)
        
    )


shinyApp(ui, server)

我尝试添加library(Cairo),但没有成功。顺便说一句,ggplot 在我不光彩的 Rstudio 环境中运行良好。这是我的会话信息:

─ Session info ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
 setting  value                       
 version  R version 4.1.1 (2021-08-10)
 os       Ubuntu 20.04.3 LTS          
 system   x86_64, linux-gnu           
 ui       RStudio                     
 language en_AU:en                    
 collate  en_AU.UTF-8                 
 ctype    en_AU.UTF-8                 
 tz       Australia/Hobart            
 date     2021-09-22                  

─ Packages ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
 package        * version date       lib source        
 assertthat       0.2.1   2019-03-21 [1] CRAN (R 4.0.0)
 bslib            0.3.0   2021-09-02 [1] CRAN (R 4.1.1)
 cachem           1.0.6   2021-08-19 [1] CRAN (R 4.1.1)
 Cairo            1.5-12  2020-04-11 [1] CRAN (R 4.0.0)
 callr            3.7.0   2021-04-20 [1] CRAN (R 4.1.0)
 cli              3.0.1   2021-07-17 [1] CRAN (R 4.1.0)
 colorspace       2.0-2   2021-06-24 [1] CRAN (R 4.1.1)
 crayon           1.4.1   2021-02-08 [1] CRAN (R 4.1.0)
 DBI              1.1.1   2021-01-15 [1] CRAN (R 4.1.1)
 desc             1.2.0   2018-05-01 [1] CRAN (R 4.0.0)
 devtools         2.3.2   2020-09-18 [1] CRAN (R 4.0.3)
 digest           0.6.27  2020-10-24 [1] CRAN (R 4.1.0)
 dplyr            1.0.7   2021-06-18 [1] CRAN (R 4.1.0)
 ellipsis         0.3.2   2021-04-29 [1] CRAN (R 4.1.0)
 evaluate         0.14    2019-05-28 [1] CRAN (R 4.1.0)
 fansi            0.5.0   2021-05-25 [1] CRAN (R 4.1.0)
 fastmap          1.1.0   2021-01-25 [1] CRAN (R 4.1.1)
 fs               1.4.1   2020-04-04 [1] CRAN (R 4.0.0)
 generics         0.1.0   2020-10-31 [1] CRAN (R 4.1.0)
 ggplot2        * 3.3.5   2021-06-25 [1] CRAN (R 4.1.1)
 glue             1.4.2   2020-08-27 [1] CRAN (R 4.1.0)
 gtable           0.3.0   2019-03-25 [1] CRAN (R 4.0.0)
 htmltools        0.5.2   2021-08-25 [1] CRAN (R 4.1.1)
 httpuv           1.5.4   2020-06-06 [1] CRAN (R 4.0.3)
 jquerylib        0.1.4   2021-04-26 [1] CRAN (R 4.1.1)
 jsonlite         1.7.2   2020-12-09 [1] CRAN (R 4.1.0)
 knitr            1.33    2021-04-24 [1] CRAN (R 4.1.0)
 later            1.1.0.1 2020-06-05 [1] CRAN (R 4.0.3)
 lifecycle        1.0.0   2021-02-15 [1] CRAN (R 4.1.0)
 magrittr         2.0.1   2020-11-17 [1] CRAN (R 4.1.0)
 memoise          1.1.0   2017-04-21 [1] CRAN (R 4.0.0)
 mime             0.11    2021-06-23 [1] CRAN (R 4.1.1)
 munsell          0.5.0   2018-06-12 [1] CRAN (R 4.1.0)
 pillar           1.6.2   2021-07-29 [1] CRAN (R 4.1.0)
 pkgbuild         1.1.0   2020-07-13 [1] CRAN (R 4.0.2)
 pkgconfig        2.0.3   2019-09-22 [1] CRAN (R 4.1.0)
 pkgload          1.1.0   2020-05-29 [1] CRAN (R 4.0.0)
 prettyunits      1.1.1   2020-01-24 [1] CRAN (R 4.0.0)
 processx         3.5.2   2021-04-30 [1] CRAN (R 4.1.0)
 promises         1.1.1   2020-06-09 [1] CRAN (R 4.0.3)
 ps               1.6.0   2021-02-28 [1] CRAN (R 4.1.0)
 purrr            0.3.4   2020-04-17 [1] CRAN (R 4.1.0)
 R6               2.5.1   2021-08-19 [1] CRAN (R 4.1.1)
 Rcpp             1.0.7   2021-07-07 [1] CRAN (R 4.1.0)
 remotes          2.2.0   2020-07-21 [1] CRAN (R 4.0.3)
 rlang            0.4.11  2021-04-30 [1] CRAN (R 4.1.0)
 rmarkdown        2.11    2021-09-14 [1] CRAN (R 4.1.1)
 rprojroot        2.0.2   2020-11-15 [1] CRAN (R 4.0.3)
 rsconnect        0.8.16  2019-12-13 [1] CRAN (R 4.0.2)
 rstudioapi       0.13    2020-11-12 [1] CRAN (R 4.1.0)
 sass             0.4.0   2021-05-12 [1] CRAN (R 4.1.1)
 scales           1.1.1   2020-05-11 [1] CRAN (R 4.1.0)
 sessioninfo      1.1.1   2018-11-05 [1] CRAN (R 4.0.0)
 shiny          * 1.6.0   2021-01-25 [1] CRAN (R 4.1.1)
 shinydashboard * 0.7.1   2018-10-17 [1] CRAN (R 4.1.1)
 testthat         3.0.1   2020-12-17 [1] CRAN (R 4.0.3)
 tibble           3.1.4   2021-08-25 [1] CRAN (R 4.1.1)
 tidyselect       1.1.1   2021-04-30 [1] CRAN (R 4.1.0)
 usethis          2.0.1   2021-02-10 [1] CRAN (R 4.1.0)
 utf8             1.2.2   2021-07-24 [1] CRAN (R 4.1.0)
 vctrs            0.3.8   2021-04-29 [1] CRAN (R 4.1.0)
 withr            2.4.2   2021-04-18 [1] CRAN (R 4.1.1)
 xfun             0.25    2021-08-06 [1] CRAN (R 4.1.1)
 xtable           1.8-4   2019-04-21 [1] CRAN (R 4.0.0)
 yaml             2.2.1   2020-02-01 [1] CRAN (R 4.1.0)

[1] /home/xxxxxx/R/x86_64-pc-linux-gnu-library/4.1
[2] /usr/local/lib/R/site-library
[3] /usr/lib/R/site-library
[4] /usr/lib/R/library

任何帮助将不胜感激。

干杯,EKS

【问题讨论】:

你的代码对我来说很好 - 在 Windows 上。 在 MacOS 上添加 library(shiny) 后也适用于我。启动应用程序后,可以尝试在浏览器中打开。 谢谢大家。我怀疑这个问题可能与我的 ubuntu 系统中缺少的库有关。我想知道是否有人经历过类似的事情。我更新了大部分 R 包,但问题仍然存在。 【参考方案1】:

可能是geom_histogram() 的问题,尝试向其中添加垃圾箱

  output$plot1 <- renderPlot(
    req(input$slider)
    data <- data.frame(y = histdata[seq_len(input$slider)])
    ggplot(data, aes(x=y)) + geom_histogram(bins=30)
  )

【讨论】:

谢谢!。我尝试了您的建议,但仍然无法正常工作。事实上,它不适用于任何 ggplot 几何图形 我已经在我自己的闪亮服务器上对此进行了测试,一切正常,使用shiny1.6 谢谢@Pork-Chop。您能否发布您的会话信息以查看我这边的包裹是否存在问题,或者将其与我在原始帖子中发布的会话信息进行比较。 你能看一下打印的日志吗,它们应该在/var/log/shiny-server.log

弹出模式中的闪亮模块化输入在关闭时不会被写入响应值 [flexdashboard/shinydashboard]

...的闪亮模块化输入在关闭时不会被写入响应值[flexdashboard/shinydashboard]【英文标题】:Shinymodularizedinputsinsidepop-upmodalaren\'tbeingwrittentoreactiveValueswhendismissed[flexdashboard/shinydashboard]【发布时间】:2019-02-0204:40:18【问题描述】:作为一个... 查看详情

将公司徽标添加到 ShinyDashboard 标题

】将公司徽标添加到ShinyDashboard标题【英文标题】:AddingacompanyLogotoShinyDashboardheader【发布时间】:2015-10-0502:14:44【问题描述】:很好奇,有没有办法在ShinyDashboard的标题中添加公司徽标?当我查看documentation时,它描述了更改CSS中... 查看详情

R shinydashboard 在值框中显示所选输入的总和

】Rshinydashboard在值框中显示所选输入的总和【英文标题】:Rshinydashboarddisplaysumofselectedinputinavaluebox【发布时间】:2019-07-2907:09:37【问题描述】:我的问题与以下代码中的值框“value4”有关。我创建了一个选择输入,允许用户根据... 查看详情

Shinydashboard 使下载按钮变灰?

】Shinydashboard使下载按钮变灰?【英文标题】:ShinydashboardgrayedoutdownloadButton?【发布时间】:2016-07-1819:23:06【问题描述】:如何修复这个简单示例中的下载按钮?library(shiny)library(shinydashboard)library(shinyjs)header<-dashboardHeader()sidebar&... 查看详情

ggplotly 和 shinydashboard 框的布局问题

】ggplotly和shinydashboard框的布局问题【英文标题】:Layoutproblemswithggplotlyandshinydashboardboxes【发布时间】:2021-11-1903:30:55【问题描述】:我遇到了ggplotly对象的问题,它根本没有留在带有闪亮和闪亮仪表板的盒子里。在绘制某些东西... 查看详情

单击按钮时 Shinydashboard 的 SidebarMenu 中的折叠(关闭)菜单

】单击按钮时Shinydashboard的SidebarMenu中的折叠(关闭)菜单【英文标题】:Collapse(close)MenuinSidebarMenuofShinydashboardonbuttonclick【发布时间】:2018-04-3007:19:40【问题描述】:我正在使用与以下类似的应用程序。我的输入面板位于最初扩... 查看详情

shinydashboard ui.R 和 server.R 未读取 Global.R

】shinydashboardui.R和server.R未读取Global.R【英文标题】:shinydashboardui.Randserver.RnotreadingGlobal.R【发布时间】:2017-02-0116:42:17【问题描述】:在RStudio中开发时,我成功地使用global.R将数据传递给ui.r和server.R。但是,当我将代码迁移到服... 查看详情

R shinyDashboard 自定义框状态颜色

】RshinyDashboard自定义框状态颜色【英文标题】:RshinyDashboardcustomizeboxstatuscolor【发布时间】:2016-07-0423:31:46【问题描述】:我想自定义闪亮应用的框状态颜色。我找到了一种css方法来更改这些框的框背景颜色但不自定义状态颜色... 查看详情

如何在 Shiny Dashboard 的框中将表格居中

】如何在ShinyDashboard的框中将表格居中【英文标题】:HowtocentertableinboxinShinyDashboard【发布时间】:2019-01-2822:28:18【问题描述】:我很难将我在ShinyDashboard中制作的表格放在一个盒子中。我使用了一个.csv文件,但这里有一些假数据... 查看详情

用shinyjs改变shinydashboard框的样式

】用shinyjs改变shinydashboard框的样式【英文标题】:Changestyleofshinydashboardboxwithshinyjs【发布时间】:2021-06-1319:11:37【问题描述】:我正在尝试根据用户所在的选项卡更改闪亮仪表板框的颜色。为此,我从tabsetPanel获取输入值,并尝... 查看详情

如何使用shinyjs从服务器更改shinydashboard中的标题颜色

】如何使用shinyjs从服务器更改shinydashboard中的标题颜色【英文标题】:Howtochangethetitlecolorinshinydashboardfromserverusingshinyjs【发布时间】:2021-11-1918:16:47【问题描述】:我想从服务器部分更改闪亮仪表板中标题的标题。简单的文本,... 查看详情

如何将公司徽标添加到 ShinyDashboard 标题(不是 mainPanel 或 mainHeader)

】如何将公司徽标添加到ShinyDashboard标题(不是mainPanel或mainHeader)【英文标题】:HowtoaddacompanyLogotoShinyDashboardheader(NotmainPanelormainHeader)【发布时间】:2016-06-2723:34:15【问题描述】:我尝试参考以下答案,但徽标位于主面板内,而... 查看详情

R + Shiny 哪个锤子?直的 Shiny、flexdashboard 还是 shinydashboard? [关闭]

】R+Shiny哪个锤子?直的Shiny、flexdashboard还是shinydashboard?[关闭]【英文标题】:R+Shinywhichhammer?straightShiny,flexdashboardorshinydashboard?[closed]【发布时间】:2016-10-2519:39:18【问题描述】:冒着被mods"toobroadaquestion"hammer击中的风险,我想问... 查看详情

r调整d3heatmap/renderui/shinydashboard/dt的大小(代码片段)

查看详情

在 React 中重新渲染条件渲染组件

】在React中重新渲染条件渲染组件【英文标题】:Re-RenderConditionalRenderedComponentsinReact【发布时间】:2021-06-0702:29:13【问题描述】:我有一个接受一些输入的组件,然后当我在单击时提交该输入时,单击时提交函数会将useState挂钩... 查看详情

r示例使用shinydashboard中的renderui动态调整d3heatmap的大小(代码片段)

查看详情

在 UIBezierPath 中渲染渐变

】在UIBezierPath中渲染渐变【英文标题】:RenderingagradientinaUIBezierPath【发布时间】:2013-05-2110:33:45【问题描述】:如何,是否可以将此状态与bezierPath一起存储以便在drawRect中更快地重新渲染?我目前在drawRect内渲染bezierPaths,但无... 查看详情

如何在 SceneKit 的渲染队列中处理触摸事件

】如何在SceneKit的渲染队列中处理触摸事件【英文标题】:HowtohandletoucheventinrenderqueueinSceneKit【发布时间】:2021-11-0613:41:30【问题描述】:我刚刚发现SceneKit的渲染发生在渲染队列中,这是一个非主串行队列。这与在主线程中处理... 查看详情