В частности, я хочу, чтобы блестящие входные значения подавались в раскрывающиеся меню Rhandsontable.Вообще, я часто хочу использовать блестящий ввод для заполнения ячеек и столбцов в таблице, в дополнение к тому, что пользователь может редактировать таблицу rhandsontable.
Вот небольшой пример приложения, которое подчеркивает мои намерения:
library(rhandsontable)
library(shiny)
non_reactive_choices <- c('choice1', 'choice2', 'choice3', 'choice4', 'choice5', 'choice6', 'choice7', 'choice8')
DF <- data.frame(col_1 = 'original value',
col_2 = 'original value',
col_3 = 'original value',
col_4 = 'original value')
ui <- fluidPage(
sidebarLayout(
sidebarPanel(
selectInput('c1', label='first choice', choices = non_reactive_choices, selected = 'choice1'),
selectInput('c2', label='second choice', choices = non_reactive_choices, selected = 'choice2'),
selectInput('c3', label='third choice', choices = non_reactive_choices, selected = 'choice1'),
selectInput('c4', label='fourth choice', choices = non_reactive_choices, selected = 'choice2')
),
mainPanel(
HTML('<br>'),
HTML('<h3> The first table has pulldown of non-reactive values: it works</h3>'),
rHandsontableOutput('hotable1'),
HTML('<h3> The second tables pulldowns point to reactive values: it doesnt work</h3>'),
rHandsontableOutput('hotable2'))
)
)
server <- function(input, output, session) {
output$hotable1 <- renderRHandsontable({
rhandsontable(DF, width = 600, height = 200) %>%
hot_col(col = 'col_1', type = "dropdown", source = non_reactive_choices) %>%
hot_col(col = 'col_2', type = "dropdown", source = non_reactive_choices) %>%
hot_col(col = 'col_3', type = "dropdown", source = non_reactive_choices) %>%
hot_col(col = 'col_4', type = "dropdown", source = non_reactive_choices)
})
#here I combine the inputs and use them as the only choices for my dataframe dropdown columns
combined_inputs <- reactive({
c(input$c1, input$c2, input$c3, input$c4)
})
output$hotable2 <- renderRHandsontable({
rhandsontable(DF, width = 600, height = 200) %>%
hot_col(col = 'col_2', type = "dropdown", source = combined_inputs() ) %>%
hot_col(col = 'col_3', type = "dropdown", source = combined_inputs() ) %>%
hot_col(col = 'col_4', type = "dropdown", source = combined_inputs() )
})
}
shinyApp(ui, server)
Я пишу экспериментальные процедуры в Rmarkdown с использованием блестящей среды выполнения - часто в SOP входит создание 96-луночного лотка для биохимических экспериментов.,Мне нужно построить 96-луночный лоток для использования пользователем на основе его входных данных (какие образцы они используют, сколько образцов у них есть, какой анализ они хотят и т. Д.), А затем позволить им записывать значения в таблицу.Это служит как для того, чтобы помочь пользователю настроить эксперимент, так и для того, чтобы пользователь сообщал о результатах.
В целом, я хочу поместить входные / реактивные значения пользователя в rhandsontable, а не просто получать данные от rhandsontable,