В настоящее время я пытаюсь создать R-блестящее приложение, в котором пользователь может выполнять поиск по нескольким столбцам в каждой строке. Эта функция работает с использованием функции datatable
из пакета DT
за пределами блестящей среды. Используя пример набора данных iris
, я хочу найти все строки, содержащие значения; 5.1, 3.5 и 1.4. Если я наберу следующую строку в окне поиска диалогового окна данных «5.1 3.5 1.4», будут показаны строки 1 и 18.Поиск нескольких столбцов Datatable в Shiny
library(DT)
head(iris)
# Sepal.Length Sepal.Width Petal.Length Petal.Width Species
# 1 5.1 3.5 1.4 0.2 setosa
# 2 4.9 3.0 1.4 0.2 setosa
# 3 4.7 3.2 1.3 0.2 setosa
# 4 4.6 3.1 1.5 0.2 setosa
datatable(iris)
Проблема заключается в том, когда я пытаюсь сделать то же самое в блестящей среде я получать сообщение
Нет соответствия найденных записей.
Например:
if (interactive()) {
library(shiny)
shinyApp(
ui = fluidPage(fluidRow(column(12, DT::dataTableOutput('tbl')))),
server = function(input, output) {
output$tbl = DT::renderDataTable(
iris, options = list(lengthChange = FALSE)
)
}
)
}
Кто-нибудь есть работа вокруг, или может сказать мне, что я делаю неправильно?
Если вы установите 'сервер = false' внутри' renderDataTable', это работает. По-видимому, у Shiny есть проблема с пробелами, почему-то; вероятно, ошибка. – alistaire
Эй, Алистер, да, я только что нашел это. Благодарю. –
@alistaire 'server = TRUE' сложно. Я отправил ответ. –