r 使用Shiny中的下载选项过滤数据表列
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了r 使用Shiny中的下载选项过滤数据表列相关的知识,希望对你有一定的参考价值。
library(shiny)
library(dplyr)
library(readr)
load(url("http://s3.amazonaws.com/assets.datacamp.com/production/course_4850/datasets/movies.Rdata"))
# UI
ui <- fluidPage(
sidebarLayout(
# Input(s)
sidebarPanel(
# Select filetype
radioButtons(inputId = "filetype",
label = "Select filetype:",
choices = c("csv", "tsv"),
selected = "csv"),
# Select variables to download
checkboxGroupInput(inputId = "selected_var",
label = "Select variables:",
choices = names(movies),
selected = c("title"))
),
# Output(s)
mainPanel(
DT::dataTableOutput(outputId = "moviestable"),
downloadButton("download_data", "Download data")
)
)
)
# Server
server <- function(input, output) {
# Create reactive data frame
movies_selected <- reactive({
req(input$selected_var)
movies %>% select(input$selected_var)
})
# Create data table
output$moviestable <- DT::renderDataTable({
DT::datatable(data = movies_selected(),
options = list(pageLength = 10),
rownames = FALSE)
})
# Download file
output$download_data <- downloadHandler(
filename = function() {
paste0("movies.", input$filetype)
},
content = function(file) {
if(input$filetype == "csv"){
write_csv(movies_selected(), file)
}
if(input$filetype == "tsv"){
write_tsv(movies_selected(), file)
}
}
)
}
# Create a Shiny app object
shinyApp(ui = ui, server = server)
以上是关于r 使用Shiny中的下载选项过滤数据表列的主要内容,如果未能解决你的问题,请参考以下文章
更新 R Shiny 中的 DT 列过滤器选择
R + Shiny + DT :下载过滤数据
根据用户的输入创建列联表 - R Shiny
在R Shiny中如何分离滑块输入值并使用它们进行过滤
如何使用 R Shiny 中的 DT 包格式化数据表输入?
在R Shiny中过滤rhandsontable中的行