Входы отображаются в формате «iris $ Petal.Width - iris $ Species». На выбранные входы, данные для разделения и диафрагмы $ Petal.Width только для фильтрации всего данные. Пример: выбранные значения такие же, как на изображении. блестящий с использованием selectizeInput для построения динамических выходных данных
Попытка получить данные, такие как dplyr :: фильтра (радужной оболочки глаза, радужной оболочки $ Petal.Width% в% с ('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» и «Описание», ни один из которых не является числовым (ни логичным, ни сложным), и я подозреваю, почему вы получаете эту ошибку. –