2016-07-22 115 views
1

所以我想部署一個閃亮的應用程序,我提出以下是我在R-博客網站上找到使用Chrome便攜式和R便攜的說明。我的問題是,當我開始使用DT包我的應用程序遇到一個錯誤(我猜),因爲我對錶outputbox不渲染什麼了,我沒有安裝「DT」包中的R移動的,因此我不明白這是從哪裏來的。 (順便說一句,我不知道和了解這個應用程序部署我只跟着指示的任何方式,它的工作一次,我不明白是什麼改變了這一次)閃亮的應用程序桌面部署包問題?

這是我的日誌,如果它可以幫助你(法語不好意思):

樂chargement一個nécessité文件包:閃亮 樂chargement一個nécessité文件包:方法

上偵聽http://127.0.0.1:7777

附加包: 'shinydashboard'

':圖形包':

box 

附加包:

以下對象從掩蔽 'DT'

下列對象從 '包:光澤':掩蔽

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個雙倍,即使我懷疑它改變了任何東西。

謝謝。

+0

請爲您應用的一小重複的例子。 – Jimbou

回答

2

好了,所以顯然,答案是2天之後尋找到它,我認爲,這個問題是根本,我沒有叫上兩個UI與服務器文件的庫非常簡單。所以通過簡單地將這三個調用放到這兩個文件上的庫(DT,shiny和shinydashboard)上,它似乎就可以工作。

1

爲了遵循不要重複自己(DRY)規則,您還可以考慮將library調用移動到與ui.R和server.R相同的目錄中的global.R文件。這樣你只需要在一個地方更新它們。