2016-07-22 109 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文件。这样你只需要在一个地方更新它们。