gpt4 book ai didi

r - 如何让 Shiny selectInput 下拉菜单在多个数据帧之间进行选择

转载 作者:行者123 更新时间:2023-12-04 07:15:59 25 4
gpt4 key购买 nike

我正在尝试构建我的第一个 Shiny 应用程序并不断遇到麻烦,所以希望有人可以提供帮助。我想做的核心很简单(对于我以外的任何人):创建一个下拉列表,用户可以在其中从列表中选择一个数据框,然后将所选 DF 转换为数据表(来自 DT 包) .
这是我迄今为止所做的简化版本:
我的 global.R 中有 2 个数据框。在我的实际代码中,我做了一些数据整理以将列等添加到 20ish csv 文件中,因此我将其设置为全局以保持整洁。

df1 <- data.frame(Name = c("a", "b", "c"),
Parameter = c("pH", "pH", "pH"),
Amount = c(7, 7.5, 6.8),
Violation = c("No", "No", "Yes"))

df2 <- data.frame(Name = c("d", "e", "f"),
Parameter = c("pH", "pH", "pH"),
Amount = c(6.7, 7.2, 7.3),
Violation = c("Yes", "No", "No"))

我的用户界面:
shinyUI(fluidPage(

titlePanel("Title"),

fluidRow(
selectInput(inputId = "df_test",
label = "Select DF",
choices = c("DF 1" = "df1",
"DF 2" = "df2"),
selected = "DF 1",
width = "50%"),


DT::dataTableOutput("test_table")
)
))

和我的 server.R:
shinyServer(function(input, output) {

output$test_table <- DT::renderDataTable({
input$df_test
})

})
现在我收到一个错误,说“'数据'必须是二维的”但我很确定即使我解决了它也不会工作。我不知道我在这里做错了什么。是吗有人对如何修复此错误并设置 selectInput 下拉列表以实际从数据框列表中进行选择有建议吗?抱歉,这是一个初学者问题,但我真的很挣扎。在此先感谢您的帮助。

最佳答案

我们需要从字符串中返回对象的值,即 get (使用 OP 的原始语法)

ui = fluidPage(

titlePanel("Title"),

fluidRow(
selectInput(inputId = "df_test",
label = "Select DF",
choices = c("DF 1" = "df1",
"DF 2" = "df2"),
selected = "DF 1",
width = "50%"),


DT::dataTableOutput("test_table")
)
)
server <- function(input, output) {

output$test_table <- DT::renderDataTable({
get(input$df_test)
})
}
shinyApp(ui, server)
-输出
enter image description here

关于r - 如何让 Shiny selectInput 下拉菜单在多个数据帧之间进行选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68763324/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com