育种数据分析之放飞自我分享 http://blog.sciencenet.cn/u/yijiaobai 关注:生物统计,数量遗传,混合线性模型,生物信息,R,Perl,Python,GWAS,GS相关方法,文章及代码

博文

shiny学习笔记2-下载数据

已有 2221 次阅读 2019-1-20 13:20 |个人分类:R语言|系统分类:科研笔记

上一篇, 介绍了shiny app的创建, 包括如何上传数据, 查看数据及汇总数据.

这里我们介绍如何下载数据.

流程

  • 1, 生成20个随机数, 编号为1:20

  • 2, 下载为csv格式

生成数据代码:

ID = 1:20
y = rnorm(20)
dat = data.frame(ID,y)

shiny代码

library(shiny)
library(data.table)
library(shinydashboard)

ui = dashboardPage(
    dashboardHeader(title = "如何上传数据"),
    dashboardSidebar(
        menuItem("生成数据",tabName = "a")
    ),
    dashboardBody(
        tabItems(
            tabItem(tabName = "a",
                    tableOutput("head"),
                    downloadButton("down1","下载数据"))

        )
    )
)

server <- function(input, output) {

    d1 <- reactive({
        ID = 1:20
        y = rnorm(20)
        dat = data.frame(ID,y)
    })

    output$head <- renderTable({
        dat= d1()
        head(dat)
    })

    output$down1 <- downloadHandler(
        filename = function() {
            paste("data-", Sys.time(), ".csv", sep=" ")
        },
        content = function(file) {
            dat1 = d1()
            fwrite(dat1, file,col.names = FALSE)
        }
    )

}
shinyApp(ui = ui, server = server)

注意
这里的download是一个特殊结构:

    output$down1 <- downloadHandler(
        filename = function() {
            paste("data-", Sys.time(), ".csv", sep=" ")
        },
        content = function(file) {
            dat1 = d1()
            fwrite(dat1, file,col.names = FALSE)
        }
    )

包括filename和content两部分, 第一部分是命名, 第二部分是内容.




https://blog.sciencenet.cn/blog-2577109-1158105.html

上一篇:shiny学习笔记1---上传数据
下一篇:shiny学习笔记3--利用rmarkdown生成html报告
收藏 IP: 117.119.97.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-4-26 16:48

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部