r - 有人可以解释 DT::dataTableProxy 是如何工作的吗?
问题描述
我一直在努力掌握如何使 DT::dataTableProxy Using DT in Shiny在我的应用程序中工作,但我无法通过返回选定的列。
按照此处的示例,我尝试修改代码以打印描述性统计信息(使用pastecs
)。但唯一呈现的是选择的文字列。
#modified UI, adding another verbatimTextOutput
ui =
...
verbatimTextOutput('foo2')
server =
...
output$foo2= renderPrint({
x<-input$foo_columns_selected
stat.desc(x)
})
我想做的是获取所选列的值,然后运行函数
stat.desc
。在上面的示例中,它将在第 2 列 (Sepal.Width) 上运行,并呈现描述性统计信息。像这样:
展望未来,我想对stat.desc
来自多个 selectInputs 的渲染 DataTable 执行。但是..一步一步。我想首先掌握如何获取实际值来执行功能。
更新!
所以,我想我想出了如何成功地完成我所需要的。如果其他用户可以验证它是否正常工作,我会很高兴:
更新脚本:
require(DT)
library(dplyr)
library(tibble)
ui<-
fluidPage(
selectInput('obj','Choose Name:', choices = c('',my.data$Name), selectize = TRUE),
dateRangeInput('daterange',"Date range:",
start= min(my.data$Date),
end = max(my.data$Date)),
mainPanel(
dataTableOutput('filteredTable'),
dataTableOutput('filteredTable2'),
tableOutput('table')
)
)
server<-function(input,output, session){
filteredTable_data <- reactive({
my.data %>% rownames_to_column() %>% ##dplyr's awkward way to preserve rownames
filter(., Name == input$obj) %>%
filter(., between(Date ,input$daterange[1], input$daterange[2])) %>%
column_to_rownames()
})
##explicit assignment to output ID
DT::dataTableOutput("filteredTable")
output$filteredTable <- DT::renderDataTable({
datatable(
filteredTable_data(),
selection = list(mode = "multiple"),
caption = "Filtered Table (based on cyl)"
)
})
filteredTable_selected <- reactive({
ids <- input$filteredTable_rows_all
filteredTable_data()[sort(ids),] ##sort index to ensure orig df sorting
})
##anonymous
output$filteredTable2<-DT::renderDataTable({
x<-filteredTable_selected() %>% select(starts_with("Value"))
x<-as.data.frame(stat.desc(x))
datatable(
x)
})
}
shinyApp(ui, server)
结果:
以下答案非常有帮助:不允许从闪亮的输出对象中读取对象?&如何从过滤数据表 (DT) 的选定行中获取数据?
解决方案
推荐阅读
- angularjs - 使用 ng-select 选择选项的问题,因为 ng-model 值不同
- tensorflow - 多个 GPU 上的批量大小
- java - 代码没有运行的原因是什么?
- javascript - 是否有多个特定字符串的 GraphQL 类型?
- swift - 无法在 NavigationBar 中设置自定义大标题
- spring - 使用 Spring Logback 在不同路径中配置 Kubernetes 日志
- c# - 在方法中选择属性的 C# 问题
- amazon-web-services - 如何创建限制资源的 AutoScaling IAM 角色?
- python - 如何在python的n行中随机输入无输入
- node.js - 有没有办法运行 nodemon 和 ng serve ?