如何解决如何在 R 中呈现本地数据集闪亮
我有以下显示 CSV 结果的 R Shiny 代码。目前,它仅适用于 R 的默认数据集。对于本地计算机上的数据集,我希望以相同的方式显示 CSV 结果。
示例 CSV:Study1.csv、Study2.csv、Study3.csv
有人能解释一下如何在 R Shiny 中实现这一点吗?
ui <- fluidPage(
# App title ----
titlePanel("Downloading Data"),# Sidebar layout with input and output definitions ----
sidebarLayout(
# Sidebar panel for inputs ----
sidebarPanel(
# Input: Choose dataset ----
selectInput("dataset","Choose a dataset:",choices = c("rock","pressure","cars")),# Button
downloadButton("downloadData","Download")
),# Main panel for displaying outputs ----
mainPanel(
tableOutput("table")
)
)
)
server <- function(input,output) {
# Reactive value for selected dataset ----
datasetInput <- reactive({
switch(input$dataset,"rock" = rock,"pressure" = pressure,"cars" = cars)
})
# Table of selected dataset ----
output$table <- renderTable({
datasetInput()
})
# Downloadable csv of selected dataset ----
output$downloadData <- downloadHandler(
filename = function() {
paste(input$dataset,".csv",sep = "")
},content = function(file) {
write.csv(datasetInput(),file,row.names = FALSE)
}
)
}
shinyApp(ui,server)
解决方法
我添加了一个数据集:
dataset1 <- structure(list(This = c(1L,7L,3L),is_the = c(5L,8L,2L),header = c(9L,5L,4L)),class = "data.frame",row.names = c(NA,-3L))
您还可以通过
读取 csv 并将其用作数据集 1dataset1 <- read.csv("your path",sep="your seperator")
带有添加数据集的 UI:
dataset1 <- structure(list(This = c(1L,-3L))
ui <- fluidPage(
# App title ----
titlePanel("Downloading Data"),# Sidebar layout with input and output definitions ----
sidebarLayout(
# Sidebar panel for inputs ----
sidebarPanel(
# Input: Choose dataset ----
selectInput("dataset","Choose a dataset:",choices = c("rock","pressure","cars","dataset1")),# Button
downloadButton("downloadData","Download")
),# Main panel for displaying outputs ----
mainPanel(
tableOutput("table")
)
)
)
您的服务器添加了数据集1
server <- function(input,output) {
# Reactive value for selected dataset ----
datasetInput <- reactive({
switch(input$dataset,"rock" = rock,"pressure" = pressure,"cars" = cars,"dataset1" = dataset1)
})
# Table of selected dataset ----
output$table <- renderTable({
datasetInput()
})
# Downloadable csv of selected dataset ----
output$downloadData <- downloadHandler(
filename = function() {
paste(input$dataset,".csv",sep = "")
},content = function(file) {
write.csv(datasetInput(),file,row.names = FALSE)
}
)
}
shinyApp(ui,server)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。