2016-09-01 4 views
0

私はRにかなり新しく、Shinyにさらに新しいです。 私は現在、光沢に変換したいRスクリプトを持っていますが、私はいつも失敗します。Shiny R - モデル用の新しいdata.frameを作成する

"Basisdaten.csv"に保存されているWanddicke、T1、T2、T2star、ADC、Vivoの変数を持つデータセットがあります。さらに、結果(0または1のいずれか)を定義する変数DSSがあります。 "DSS"を予測するには、このファイルをロードし、このデータセットでGLMモデルを訓練する必要があります。 次に、ユーザーにWanddicke、T1、T2、T2star、ADC、Vivoの独自のパラメータを入力する機会を与えたいと思います。Shinyが予測を返すようにしたいと思います。

これは私が今までに持っていたものですが、私がそれを理解できない理由では実行されません。誰かが私の間違いがどこにあるのか教えてくれますか?私は問題が新しいdata.frame "mydatanew"の生成の間に発生すると思う。ありがとうございます。

UI.R

library(shiny) 
shinyUI(fluidPage(

    # Application title 
    titlePanel("Colitis Evaluator"), 

    # Sidebar 
    sidebarLayout(
    sidebarPanel(
     numericInput("Dicke", 
        "Wanddicke in mm:", 
        ""), 
     numericInput("T1", 
        "T1 in ms:", 
        ""), 
     numericInput("T2", 
        "T2 in ms:", 
        ""), 
     numericInput("T2star", 
        "T2* in ms:", 
        ""), 
     numericInput("ADC", 
        "ADC in 10^-6 mm^2/s", 
        ""), 
     numericInput("Vivo", 
        "In Vivo als 1", 
        ""), 

     # selectInput("Vivo", "In vivo/Ex vivo:", 
     #    choices = c("In vivo" = 1, "Ex vivo" = 0)) 

    submitButton("Submit") 

    ), 


    mainPanel(

     textOutput("Score") 


    ) 
) 
)) 

Server.R

library(shiny) 

Basisdaten <- read.table("Basisdaten.csv", header=TRUE, sep=";", na.strings="NA", dec=".", strip.white=TRUE) 
model.glm <- glm(formula=DSS==1 ~ Wanddicke + T1 + T2 + T2star + ADC + Vivo + (Wanddicke+T1+T2+T2star+ADC+Vivo)^3,family=binomial(),data=Basisdaten,na.action=na.omit) 



shinyServer(function(input, output) { 



    mydatanew <- data.frame(Wanddicke=input$Dicke,T1=input$T1,T2=input$T2,T2star=input$T2star,ADC=input$ADC,Vivo=input$Vivo) 
    mydatanew$Score <- predict(model.glm, newdata=mydatanew, type="response") 
    output$Score <- renderText(mydatanew$Score) 


}) 
+0

'numericInput'、デフォルト値のためにすべきです空の文字列ではなく数字にする。 –

+0

どのように実行されませんか?エラーが発生していますか? –

答えて

0

次のコードは動作するはずです。
非常に不良なcsvファイルのためにサンプリングを追加しました...

あなたのコンソールでは、アクティブなリアクティブなコンテキストなしで操作が不許可になることがあります。
あなたは、これは面白いかもしれません:http://shiny.rstudio.com/articles/reactivity-overview.html

CSV

Wanddicke,T1,T2,T2star,ADC,Vivo,DSS 
10,2,3,4,5,6,0 
20,4,6,8,10,12,1 

server.R

library(shiny) 

Basisdaten <- read.table("Basisdaten.csv", header=TRUE, sep=",", na.strings="NA", dec=".", strip.white=TRUE) 
model.glm <- glm(formula=DSS==1 ~ Wanddicke + T1 + T2 + T2star + ADC + Vivo + (Wanddicke+T1+T2+T2star+ADC+Vivo)^3,family=binomial(),data=Basisdaten,na.action=na.omit) 



shinyServer(function(input, output) { 

    output$Score <- renderText({ 

    mydatanew <- data.frame(Wanddicke=input$Dicke,T1=input$T1,T2=input$T2,T2star=input$T2star,ADC=input$ADC,Vivo=input$Vivo) 
    mydatanew$Score <- predict(model.glm, newdata=mydatanew, type="response") 
    mydatanew$Score + sample(1:100, 1) 
    }) 
}) 

ui.R

library(shiny) 
shinyUI(fluidPage(

    # Application title 
    titlePanel("Colitis Evaluator"), 

    # Sidebar 
    sidebarLayout(
    sidebarPanel(
     numericInput("Dicke", 
        "Wanddicke in mm:", 
        10), 
     numericInput("T1", 
        "T1 in ms:", 
        1), 
     numericInput("T2", 
        "T2 in ms:", 
        2), 
     numericInput("T2star", 
        "T2* in ms:", 
        3), 
     numericInput("ADC", 
        "ADC in 10^-6 mm^2/s", 
        4), 
     numericInput("Vivo", 
        "In Vivo als 1", 
        0), 

     # selectInput("Vivo", "In vivo/Ex vivo:", 
     #    choices = c("In vivo" = 1, "Ex vivo" = 0)) 

     submitButton("Submit") 

    ), 


    mainPanel(

     textOutput("Score") 


    ) 
) 
)) 
+0

親愛なるすべて、 あなたの即刻の回答と親切なコメントに感謝します。残念ながら、tokiloutokの修正でさえ、動作しません。私はちょうど "実行"をクリックすると、ユーザーインターフェイスが1秒未満のポップアップを参照してくださいが、私は何かをする前に、再び閉じます。エラーメッセージはありません。 –

+0

は、あなたの光沢のあるファイルと同じフォルダにあるあなたのcsvファイルですか?あなたは普通のR(oustide shiny)であなたのコードを実行できますか?コンソールにエラーが表示されますか? – tokiloutok

+0

私はそれを持っています...それはラインのためでした Basisdaten < - read.table( "Basisdaten.csv"、ヘッダー= TRUE、sep = "、"、na.strings = "NA"、dec = "。 、strip.white = TRUE) セパレータは ";"です。 "、" ご協力いただきありがとうございます! –

関連する問題