2016-11-21 7 views
2

私はユーザーが長い遺伝子リスト(〜1800)から選択して、選択した遺伝子の対応するグラフを持つことを許可するShinyアプリケーションを開発しています表示されます。私の問題は、selectInputボックスのドロップダウンメニューから選択できる遺伝子の全リストをShinyに表示させることができないことです。最初の1000個程度しか表示されないようです。Shiny selectInputボックスにすべての値を表示する(1000+)

次に、ユーザーが選択ボックスに入力を開始したときに使用可能なすべてのオプションが表示される、サーバー側のselectizeを使用した有望な解決策が見つかりました。しかし、ユーザーが入力していない場合でも、ドロップダウンメニューには最初の1000個以上の遺伝子が表示されないため、使用可能なオプションがまだないことが示唆されます。

私は、説明のために、異なるデータセット(1396の空港コード)に問題があることを再作成:

library(shiny) 
library(nycflights13) 

ui <- fluidPage(
    wellPanel(
    fluidRow(
     column(12, offset = 0, 
     titlePanel("Look up airports"))), 
    fluidRow(
     column(3, offset = 0, 
     selectizeInput(inputId = "airportCode", label = "", choices = NULL, 
      options = list(placeholder = "Type airport code")))) 
) 
) 

server <- function(input, output, session) { 
    updateSelectizeInput(session, "airportCode", 
    choices = as.vector(airports$faa), server = TRUE) 
} 

shinyApp(ui = ui, server = server) 

を使用すると、選択ボックス、ドロップダウンに表示された最後の空港コードにタイプをドントときメニューは「PAM」のみです。しかし、入力を開始すると、最後の1つの "ZYP"まで下がることができます。これは、これがユーザーにとってはむしろ混乱していると思います。

どういうわけか可能な場合は、すべての値をドロップダウンメニューに表示するのが最善です。それ以外の場合は、そこにリストされているものは一切なく、入力を開始したときにだけ表示されます。

答えて

6

https://github.com/rstudio/shiny/issues/412を参照してください。

あなたがそうのようなオプションの最大数を変更することができます。私も望んよりもはるかに簡単だった

selectizeInput(inputId = "airportCode", label = "", choices = NULL, 
    options = list(placeholder = "Type airport code", 
    maxOptions = 2000) 
) 
+0

おかげで、;) –

関連する問題