闪亮的应用程序桌面部署包问题?

时间:2016-07-22 10:12:36

标签: r deployment package shiny

因此,我正在尝试按照我在R-blogger网站上使用Chrome Portable和R portable发现的说明部署一个Shiny应用程序。我的问题是,在我开始使用DT包后,我的应用程序遇到了错误(我猜),因为我的表的输出框不再渲染任何东西,我确实在R便携式中安装了'DT'包,所以我不明白这是来自哪里。 (顺便说一下,我不知道并理解有关此应用程序部署方式的任何内容,我只按照说明进行操作,一旦我不明白这次改变了什么,它就有用了)

这是我的日志,如果它可以帮助你(法国抱歉):

le chargementanécessitélepackage:有光泽 le chargementannécessitélepackage:方法

聆听http://127.0.0.1:7777

附加包裹:'shinydashboard'

以下对象从'package:graphics'屏蔽:

box

附加包裹:'DT'

以下对象从'package:shiny'屏蔽:

dataTableOutput, renderDataTable

[1]“C:/ Users / p-haffoud / Documents / TestApp / shiny”

好的,这是我的ui:

library(shiny)
library(shinydashboard)

shinyUI(dashboardPage(
  dashboardHeader(title="Type Arret"),
  dashboardSidebar(
    sidebarMenu(
      menuItem("Maladie Ordinaire", tabName = "MO", icon = icon("plus-square")),
      menuItem("Longue Maladie", tabName = "LM", icon = icon("clock-o")),
      menuItem("Longue Duree", tabName = "LD", icon = icon("hourglass")),
      menuItem("Total", tabName = "Tot", icon = icon("arrow-right"))
       )
  )
  ,
  dashboardBody(
    tabItems(
      tabItem(tabName = "MO",
        fluidRow(
          img(src='SMACL.jpg',length=75,width=150, align = "right"),
          column(8,
             titlePanel(
               tags$h1("Proportion des jours d'arrets",style="font-family:Impact"))
          )),

        wellPanel(
          fluidRow(column(3,
                          numericInput(inputId = "numMO",
                                       label = "Jour limite",
                                       value = 10, min = 1, max=1000),
                          actionButton(inputId="clicksMO",
                                       label= "Actualiser")))),
        wellPanel(
          fluidRow(
            dataTableOutput("tableMO"))))




     )
   )

))

这是我的服务器文件:

library(DT)

print(getwd())
DFSurvieMO <- read.csv2("data/DFSurvMO.csv",check.names=FALSE)
DFSurvieMO <-DFSurvieMO[,c(2,3,4,6)]

shinyServer(
  function(input, output, session){
    session$onSessionEnded(function() {
      stopApp()
    })

  numerMO <- eventReactive(input$clicksMO , {(which(abs(DFSurvieMO[,1]-input$numMO)==min(abs(DFSurvieMO[,1]-input$numMO)))[1])})

  valeurnumer <- eventReactive(input$clicks, {
    (numer())
  })

  output$tableMO <- DT::renderDataTable({
    datatable(DFSurvieMO,
              options = 
                list( displayStart= numerMO()-2,
                      pageLength = 15,
                      lengthChange = FALSE, searching =FALSE),rownames= FALSE) %>% formatStyle(
      c(1:2),
      backgroundColor = 
        if(numerMO()>1) {
          styleInterval(c(DFSurvieMO[,1][numerMO()-1],DFSurvieMO[,1][numerMO()]), c('blank','lightblue', 'blank'))
        }
        else {
          styleInterval(DFSurvieMO[,1][numerMO()], c('lightblue', 'blank'))}

      )
    })
  })

我所引用的数据只是一些带有数值的csv表,第一个是以天为单位的时间。其他四个是3个整数和1个双倍,即使我怀疑它会改变任何东西。

谢谢。

2 个答案:

答案 0 :(得分:2)

好的,显然答案非常简单,经过2天的调查我认为问题只是因为我没有在ui和服务器文件上调用库。因此,只需将三个调用放在两个文件库(DT,shiny和shinydashboard)上,它就可以正常工作。

答案 1 :(得分:1)

为了遵循不要重复自己(DRY)规则,您还可以考虑将library调用移动到与ui.R和server.R相同的目录中的global.R文件。 。这样你只需要在一个地方更新它们。