入力は "iris $ Petal.Width - iris $ Species"形式で表示されます。選択された入力、分割されるデータ、およびiris $ Petal.Widthだけが全体をフィルタリングするために使用されますデータ。 例:選択した値は画像の場合と同じです。 selectizeInputを使用して動的なデータ出力を構築する
dplyr :: filter(iris、iris $ Petal.Width%in%c( '0.2'、 '0.3'、 '0.1'、 '0.6'、 '1.4'))のようなデータを取得してください。 c( '0.2'、 '0.3'、 '0.1'、 '0.6'、 '1.4')を動的に形成する。
実際の入力はA001 - Description1、A002 - Description2の形式になっています。 c( 'A001'、 'A002')を形成するには、A001、A002を取る必要があります。
コードの下にしようとしました:
## run in interactive R sessions
if (interactive()) {
ui <- fluidPage(
selectizeInput('ipdesc', label='Selector',
choices = as.list(c(unique(paste(iris$Petal.Width,iris$Species,sep = " - ")))),
multiple = TRUE,
options = list(maxItems = 5)
),
p("Select Codes (Max 5), then press 'Go'"),
actionButton("go", label = "Go"),
tableOutput("selected")
)
server <- function(input, output) {
#
output$selected <- renderTable({
filterdata()
})
filterdata <- eventReactive(input$go,{
x=c()
cnt = length(input$ipdesc)
for (i in 1:cnt){
if (i != cnt) {
x[i] = cat(sapply(strsplit(input$ipdesc[i], " - "), "[", 1),",")
}
else
{x[i] = cat(x[1],sapply(strsplit(input$ipdesc[i], " - "), "[", 1))}
} })
#
}
shinyApp(ui, server)
}
おかげシュテフィLaZerteは、あなたのアプローチは、私の問題を解決するために非常に近くなります。入力は「A00 - 説明」形式です。したがって、私が実行すると、エラー: "エラー:数値、論理または複合型に対してのみ操作が可能です"というエラーメッセージが表示されます。どんな提案もお願いします。 – SPS
'convert = TRUE'引数を省略します。その引数は結果を数値に変換するために 'separate()'に指示します(上記の場合)。しかし、あなたのケースでは、あなたは 'A00'と 'Description'で終わってしまいます。どちらも数値でも論理的でも複雑ではありません。なぜこのエラーが出ているのでしょうか? –