輸入以「iris $ Petal.Width - iris $ Species」格式顯示。在所選輸入中,要拆分的數據以及單獨使用$ Petal.Width的虹膜僅用於過濾整個數據。例如:選定的值與圖像中的一樣。 閃亮使用selectizeInput構建動態數據輸出
嘗試獲得像dplyr ::濾波數據(光圈,光圈$ Petal.Width%以%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格式。需要拿A001,A002來形成c('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'和'描述',它們都不是數字(也不合邏輯也不復雜),我懷疑是你爲什麼會收到這個錯誤。 –