gpt4 book ai didi

r - Shiny 模块内的DataTable行选择

转载 作者:行者123 更新时间:2023-12-01 01:59:24 28 4
gpt4 key购买 nike

我正在尝试采用这个基本工作的 Shiny 应用程序并将其模块化。这有效:

shinyApp(
ui = fluidPage(
DT::dataTableOutput("testTable"),
verbatimTextOutput("two")
),
server = function(input,output) {
output$testTable <- DT::renderDataTable({
mtcars
}, selection=list(mode="multiple",target="row"))

output$two <- renderPrint(input$testTable_rows_selected)
}
)

我想让这个模块适用于任何 data.frame
# UI element of module for displaying datatable
testUI <- function(id) {
ns <- NS(id)
DT::dataTableOutput(ns("testTable"))

}
# server element of module that takes a dataframe
# creates all the server elements and returns
# the rows selected
test <- function(input,output,session,data) {
ns <- session$ns
output$testTable <- DT::renderDataTable({
data()
}, selection=list(mode="multiple",target="row"))

return(input[[ns("testTable_rows_selected")]])

}

shinyApp(
ui = fluidPage(
testUI("one"),
verbatimTextOutput("two")
),
server = function(input,output) {
out <- callModule(test,"one",reactive(mtcars))
output$two <- renderPrint(out())
}
)

这给了我错误,说我正在尝试在 react 性环境之外使用 react 性。如果我消除 return 语句,它就会运行。无论如何要返回从 Shiny 模块中的数据表中选择的行吗?任何帮助,将不胜感激。

最佳答案

需要

return(reactive(input$testTable_rows_selected))

关于r - Shiny 模块内的DataTable行选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37862569/

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