gpt4 book ai didi

r - 如何根据 R Shiny 中 renderDataTable 中的输入动态重新排序行?

转载 作者:行者123 更新时间:2023-12-01 06:10:19 25 4
gpt4 key购买 nike

我在这里问是因为我在别处搜索过,找不到答案。

我想知道您是否/如何使用来自 R Shiny 的输入对数据表的行进行重新排序。下面的示例实际上会在输入更改时重新生成表格,但我希望在输入发生更改时,会发生与单击相关排序按钮相同的操作。有什么方法可以实现吗?

提前致谢!

library(shiny)

ui = shinyUI(pageWithSidebar(
headerPanel('Examples of DataTables'),
sidebarPanel(

radioButtons('var', 'Variable to sort by',
c(mpg='mpg',
cyl='cyl'),
'cyl')
),
mainPanel(
dataTableOutput("mytable")
)
)
)

server = shinyServer(function(input, output) {

output$mytable = renderDataTable({
mtcars[order(mtcars[,input$var]),]
}, options = list(orderClasses = TRUE, LengthMenu = c(5, 25, 50), pageLength = 25))

})

shinyApp(ui,server)

最佳答案

你需要一个reactive在您的服务器中运行,否则它不会使用react。我也改变了=<-这更像是 R 中的惯例

library(shiny)

ui <- shinyUI(pageWithSidebar(
headerPanel('Examples of DataTables'),
sidebarPanel(

radioButtons('var', 'Variable to sort by',
c(mpg='mpg',
cyl='cyl'),
'cyl')
),
mainPanel(
dataTableOutput("mytable")
)
)
)

server <- shinyServer(function(input, output) {

sortTable <- reactive({
mtcars[do.call(order, mtcars[as.character(input$var)]),]
})

output$mytable <- renderDataTable({
sortTable()
}, options = list(orderClasses = TRUE, LengthMenu = c(5, 25, 50), pageLength = 25))

})

shinyApp(ui,server)

关于r - 如何根据 R Shiny 中 renderDataTable 中的输入动态重新排序行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33409086/

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