r - 如何以编程方式从许多 Shiny 输入中生成 data.frame?
问题描述
我正在尝试创建一个具有约 100 个用户输入的 Shiny 应用程序,其中一些可能不会被触及。我认为我可以通过编写 , 等 100 次来在应用程序中创建一个反应性数据框input$user_input_1
,input$user_input_2
以单独调用每个输入。相反,我想知道是否有一种方法可以使用连接函数以编程方式生成输入列表,然后像我输入了一样评估这些输入input$user_input_1
。但是,当我运行以下代码时,我收到一条消息,告诉我Error: object 'input' not found
.
我的最终目标是能够接受这些用户输入并在一些幕后转换中使用它们。如果我当前的设置不是捕获大量输入的最有效方式,请告诉我,但至少我想了解什么在这里不起作用。
我很感激这里的一些帮助。谢谢。
library(shiny)
library(tidyverse)
input_tbl <- tibble(inputs = c("x", "y", "z"))
ui <- fluidPage(
sidebarLayout(
sidebarPanel(
numericInput(
inputId = "number_x",
label = "Input X",
value = 30
),
numericInput(
inputId = "number_y",
label = "Input Y",
value = 60
),
numericInput(
inputId = "number_z",
label = "Input Z",
value = 90
)
),
mainPanel(
verbatimTextOutput("table")
)
)
)
server <- function(input, output) {
value_tbl <- eventReactive(
eventExpr = input$number_x,
valueExpr = {
tibble(
inputs = input_tbl %>% pull(),
values = input_tbl %>%
pull() %>%
modify(~ str_c("input$number_", .x)) %>%
map(~ parse(text = .x)) %>%
map(eval)
)
})
output$table <- renderPrint(value_tbl())
}
shinyApp(ui = ui, server = server)
解决方案
推荐阅读
- c# - IdentityServer 显示 Android Native App 的空白 PostLogoutRedirectUri
- java - 如何读取@interface 中指定的默认值
- python - 在图像的多个随机区域随机擦除
- discord.py - Discord py 在文档中写一些东西
- perl - 乘法后如何在perl中保留小数位数
- kivy - 在 kivy 中显示 .txt 文件中的文本
- html - 当我使用样式属性使用背景图像时,为什么我的图片不完整
- apache - 我可以使用 HTACCESS 来格式化这个 URL 吗?
- java - 无法识别的目标字节码。使用 Groovy 编译 Java
- laravel - Laravel - 控制器中的修补程序断点