||
Shiny是RStudio公司开发的新包,有了它,可以用R语言轻松开发交互式web应用。
只用几行代码就可以构建有用的web应用程序—不需要用JavaScript。
Shiny应用程序会自动刷新计算结果,这与电子表格实时计算的效果类似。 当用户修改输入时,输出值自动更新,而不需要在浏览器中手动刷新。
Shiny用户界面可以用纯R语言构建,如果想更灵活,可以直接用HTML、CSS和JavaScript来写。
预先构建有输出小工具,用来展示图形、表格以及打印输出R对象。
采用反应式(reactive)编程模型,摒弃了繁杂的 事件处理代码,这样你可以集中精力于真正关心的代码上。
开发和发布你自己的Shiny小工具,其他开发者也可以非常容易地将它加到自己的应用中
以下几种情况:
肯定是官网的cookbook看的废掉了, 还是没入门!
写说明文档的同事考虑过小白的感受么!
还是英文的, 我虽然看得懂, 但是…不想看啊!
我就想吃一个鸡蛋, 你把鸡的进化史都扔过来了, 同理, 我只想看一下如何上传数据, 分析数据, 下载结果, 然后你让我学html, 学css, 学JavaScript…
ok, 吐槽结束.
点击新建, Shiny Web App
点击Run App
目的:
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)
上传数据
head结果
summary结果
搞定!
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-10-19 22:01
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社