2016-07-22 6 views
1

だから、私はクロームポータブルおよびRポータブルを使用してR-ブロガーのウェブサイトで見つかった指示に従って作られた光沢のあるアプリを展開しようとしています。私の問題は、私は私のアプリは(私が推測する)エラーに遭遇しているDTパッケージを使用して開始した後、テーブルのための私のoutputboxはもう何もレンダリングされていない、私は理解していないので、私はRのポータブルで「DT」パッケージをインストールしなかったためということですこれはどこから来ているのか。それは助けることができるならば(私はこのアプリが展開されている方法について何かを知っていると理解していないちなみに、私は唯一の指示に従った、それは私がこの時間を変更するかを理解していない一度働いていた)Shiny Appデスクトップ展開パッケージの問題?

ここでは私のログですあなた(フランス語申し訳ありません):

ルchargement Anécessitéルパッケージ:光沢のある ルchargement Ané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テーブルです、最初は、日中の時間です。私はそれが何かを変更することを疑うにもかかわらず、4つの他の3整数と1倍です。

ありがとうございます。

+0

のアプリの小さな再現性の例を追加してください。 – Jimbou

答えて

2

[OK]をので、明らかな答えは、私は、問題は、私はUIとサーバーのファイルの両方にライブラリを呼び出していませんでしたということだけであったと考えて、それに探して2日後に非常に簡単でした。ですから、3つの呼び出しを両方のファイルのライブラリ(DT、shinyとshinydashboard)に置くだけで動作するようです。

1

Do not Repeat Yourself(DRY)ルールに従って、libraryの呼び出しをui.Rおよびserver.Rと同じディレクトリにあるglobal.Rファイルに移動することを検討することもできます。そうすれば、それらを1か所で更新するだけで済みます。

関連する問題