2016-09-21 10 views
1

R Shinyで条件付きパネルを使用しようとしていますが、値が割り当てられていない問題が発生しています。ここに私のコードの抜粋です:Shinyの条件パネルが変数を更新しない

conditionalPanel(condition="input['input.type']=='Use Example Data'", 
    textInput("Label", "Enter the label:", "A"), 
    ), 
    conditionalPanel(condition="input['input.type']=='Upload Data'", 
    textInput("Label", "Enter the label:", "B"), 
    ) 

は、このコードで、今、私が起こることを期待していたものを、ユーザが「使用例データ」、デフォルト値は(それがある)だろうを選択した場合で、ユーザーが「データをアップロード」に切り替えると、デフォルト値はAのままであり、予想通りのBではありません。彼らは同じ名前を持っているので、最初の条件付きパネルだけが値を格納するようですか?

ユーザーが「サンプルデータを使用する」と「データをアップロード」を切り替えると、条件付きパネルが変更されますが、Aの値をたとえばCと置き換えて前後に切り替えると、 Cの値はAにリセットされるのではなく、常にそこに存在します。このための簡単な修正はありますか?

答えて

1

これは何ですか?

rm(list = ls()) 
library(shiny) 
library(shinydashboard) 

ui <- dashboardPage(
    dashboardHeader(), 
    dashboardSidebar(
    selectInput("type", "Type:",c("Use Example Data","Upload Data"))), 
    dashboardBody(
    uiOutput("myui")  
) 
) 
server <- function(input, output) { 
    output$myui <- renderUI({ 
    if(input$type == "Upload Data"){ 
     textInput("Label", "Enter the label:", "B") 
    } 
    else{ 
     textInput("Label", "Enter the label:", "A") 
    } 
    }) 
} 
shinyApp(ui, server) 

enter image description here

+0

ないそうではありません。これまでのところあなたのコードは私のことを行います。しかし、今あなたの光り輝くアプリでデータをアップロードするように変更し、Bを例えばCで置き換え、アップロードデータと使用例データの間を行き来すると、1)ラベルのデフォルト値が 'あなたが何をしていても、ラベルの値は、あなたがアップロードした例のデータと同じになります。 – RustyStatistician

+0

私は今あなたを得ました、それは 'conditionalPanel'でなければなりませんか? 'renderui'ははるかに柔軟です –

+0

いいえ、それは条件付きのパネルである必要はありません。条件付きパネルは、私が何かを開いているので、私が解決策を求めてグーグルで見つけたときに出てきたものです。 – RustyStatistician

関連する問題