Shinyの出力ウィジェットで文字列を検索するための一般的な検索ボックスを追加することは可能ですか?以下の例では、私はtextInput
ウィジェット内の文字列を入力するためにユーザを希望し、シャイニーはverbatimTextOutput
(または類似した何か)で一致するテキストをハイライト表示していますRの検索ボックスShiny
library(shiny)
text <- "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce nec quam ut tortor interdum pulvinar id vitae magna. Curabitur commodo consequat arcu et lacinia. Proin at diam vitae lectus dignissim auctor nec dictum lectus. Fusce venenatis eros congue velit feugiat, ac aliquam ipsum gravida. Cras bibendum malesuada est in tempus. Suspendisse tincidunt, nisi non finibus consequat, ex nisl condimentum orci, et dignissim neque est vitae nulla."
ui <- fluidPage(
sidebarPanel(
textInput("search", "", placeholder = "Search term")
),
verbatimTextOutput("text")
)
)
server <- function(input, output) {
output$text <- renderText(paste(text))
}
shinyApp(ui = ui, server = server)
これまでのところ、私はこの問題を回避取り組んできましたテキストを固定長の行に分割し、grep
を使用して、テキスト内の文字列の位置を表示します。 (たとえば、文字列lorem
が最初の行にあることをユーザーに警告する)。
もっと直感的にできますか?
編集
Aurèleの答え@上のスポットです。 DT::dataTableOutput
は、ハイライトなしでdata.tables内の文字列を検索するための検索ボックス機能も提供します。 (?それがより直感的であることの要件を満たしてない)
これは洗練されたソリューションです。私はそれがどのように反応するのでしょうか? – amrrs
私は尋ねたことを正確に行います。しかし、私はちょうど 'DT :: dataTableOutput'が自動的に検索ボックス機能を提供することに気付きました。 –
@amrrs:あなたが何を求めているかわからない'renderText()'は 'input $ search'(それは無効な値です)を見て、それが変わったら再実行します。下のレベルでは、わかりませんが、それはすべて私にとってシャイニーな魔法です... –