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

博文

shiny学习笔记1---上传数据

已有 1874 次阅读 2019-1-16 19:25 |个人分类:R语言|系统分类:科研笔记

Shiny简介

Shiny是RStudio公司开发的新包,有了它,可以用R语言轻松开发交互式web应用。

Shiny特性

  • 只用几行代码就可以构建有用的web应用程序—不需要用JavaScript。

  • Shiny应用程序会自动刷新计算结果,这与电子表格实时计算的效果类似。 当用户修改输入时,输出值自动更新,而不需要在浏览器中手动刷新。

  • Shiny用户界面可以用纯R语言构建,如果想更灵活,可以直接用HTML、CSS和JavaScript来写。
    预先构建有输出小工具,用来展示图形、表格以及打印输出R对象。

  • 采用反应式(reactive)编程模型,摒弃了繁杂的 事件处理代码,这样你可以集中精力于真正关心的代码上。

  • 开发和发布你自己的Shiny小工具,其他开发者也可以非常容易地将它加到自己的应用中

书写本文档初衷

以下几种情况:

  • 肯定是官网的cookbook看的废掉了, 还是没入门!

  • 写说明文档的同事考虑过小白的感受么!

  • 还是英文的, 我虽然看得懂, 但是…不想看啊!

  • 我就想吃一个鸡蛋, 你把鸡的进化史都扔过来了, 同理, 我只想看一下如何上传数据, 分析数据, 下载结果, 然后你让我学html, 学css, 学JavaScript…


ok, 吐槽结束.

1, 使用RStudio新建一个Shiny App

点击新建, Shiny Web App


image

2, 命名为shiny-download


image

3, 运行模型

点击Run App


image

4, 查看app


image

5, 如何上传数据呢

目的:

  • 1, 上传csv格式的数据

  • 2, 上传后数据打印head结果

  • 3, 上传后数据打印summary结果

在这里插å…¥图片描述

shinydashboard使用指南
这是非常友好的可以生成ui界面, 结构如下:
dashboardPage # 定义整个界面, 分为三部分

  • 1, dashboardHeader #标题

  • 2, dashboardSidebar #导航栏

  • 3, dashboardBody # 主界面栏

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

ui = dashboardPage(
    dashboardHeader(title = "如何上传数据"),
    dashboardSidebar(
        menuItem("上传数据",tabName = "a"),
        br(),
        menuItem("head结果",tabName = "b"),
        br(),
        menuItem("summary结果",tabName = "c")
    ),
    dashboardBody(
        tabItems(
            tabItem(tabName = "a",fileInput("dat","上传csv文件",accept = ".csv")),
            tabItem(tabName = "b",tableOutput('head')),
            tabItem(tabName = "c",verbatimTextOutput("summary"))
        )
    )
)

server <- function(input, output) {

    d1 <- reactive({
        inFile1 <- input$dat
        if (is.null(inFile1)) return(NULL)
        fread(inFile1$datapath)
    })

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

    output$summary <- renderPrint({
        dat= d1()
        summary(dat)
    })

}
shinyApp(ui = ui, server = server)

6, 展示

  • 上传数据

在这里插å…¥图片描述

  • head结果

在这里插å…¥图片描述

  • summary结果

在这里插å…¥图片描述


搞定!





http://blog.sciencenet.cn/blog-2577109-1157456.html

上一篇:科学算命以及全基因组选择的讨论
下一篇:shiny学习笔记2-下载数据

0

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

数据加载中...

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

GMT+8, 2021-1-25 10:17

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部