分享

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

 育种数据分析 2021-11-18

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

2, 命名为shiny-download

3, 运行模型

点击Run App

4, 查看app

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结果


未完待续...

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多