Таким образом, если вы хотите, чтобы данные были реактивными, они должны быть импортированы в раздел сервера приложения как «реактивные».В «блестящем» «реактивные» становятся функциями, поэтому, чтобы что-то с ними сделать, вы должны указать им их имя, а затем заключить в скобки внутри реактивной функции (реактивной, наблюдать, визуализировать и т. Д.).
Например, с кодом выше, reader
становится реактивным кадром данных.Вы можете выполнить обычные манипуляции с данными на reader
, если вы следуете приведенным выше правилам реактивов.
# server.R
reader <- reactiveFileReader(intervalMillis = 1000, filePath =
"Data_Record.csv", readFunc = read.csv)
filtered_reader_df <- reactive({
reader() %>% filter(x > 100)
})
Где filtered_reader_df
становится реактивно фильтрованной версией реактивного файла CSV.Опять же, чтобы использовать filtered_reader_df
в последующей реактивной функции, на нее нужно ссылаться как filtered_reader_df()
, поскольку она сама является реактивной функцией.
Наконец, вы все равно можете использовать реактивный csv-файл для заполнения элементов пользовательского интерфейса с помощью updateSelectInput()
функция внутри наблюдателя на сервере.Например:
ui <- fluidPage(
selectInput("mySelectInput", "Select")
)
server <- function(input, output, session) {
reader <- reactiveFileReader(intervalMillis = 1000, filePath =
"Data_Record.csv", readFunc = read.csv)
observe({
select_input_choices <- unique(reader()$factor_column)
updateSelectInput(session, inputId = "mySelectInput", choices = select_input_choices)
})
}
Приведенный выше код будет обновлять выбор выбранного входа каждый раз, когда фрейм данных reader()
изменяется на reactiveFileReader
, где unique(reader()$factor_column)
- реактивные уникальные значения столбца фактора.Вы хотите заполнить ввод.