【发布时间】:2020-01-29 05:55:44
【问题描述】:
我正在尝试将在一个渲染函数中创建的数据框访问到另一个渲染函数中。
有两个服务器输出,lvi 和 Category,在 lvi 中我创建了 Data1 数据框,Category 我创建了 Data2 数据框。我想选择 Data1 ID 匹配的 Data2。
我正在按照以下步骤来实现我的目标,但我收到错误“找不到对象 Data1”。
我的用户界面是
ui <- fluidPage(
# App title ----
titlePanel("Phase1"),
fluidPage(
column(4,
# Input: Select a file ----
fileInput("file1", "Import file1")
)
),
fluidPage(
column(4,
# Input: Select a file ----
fileInput("file2", "Import File2")
)
),
# Main panel for displaying outputs ----
mainPanel(
# Output: Data file ----
dataTableOutput("lvi"),
dataTableOutput("category")
)
)
我的服务器代码是
server <- function(input, output) {
output$lvi <- renderDataTable({
req(input$file1)
Data1 <- as.data.frame(read_excel(input$file1$datapath, sheet = "Sheet1"))
})
output$category <- renderDataTable({
req(input$file2)
Data2 <- as.data.frame(read_excel(input$file2$datapath, sheet = "Sheet1"))
Data2 <- Data2[,c(2,8)]
Data2 <- Data2[Data1$ID == "ID001",]
})
}
shinyApp(ui, server)
【问题讨论】: