【R shiny】一些应用记录
DT和downloadButton应用
library(shiny)
library(DT)
ui <- shinyUI(
fluidPage(
titlePanel("DT test"),
downloadButton('downloadData', 'Download'),
fluidRow(
DT::dataTableOutput("table")
)
)
)
server <- shinyServer(function(input, output) {
output$table <- DT::renderDataTable(DT::datatable({
mtcars
}, rownames = FALSE))
output$downloadData <- downloadHandler(
filename = 'test.csv',
content = function(file) {
write.csv(mtcars, file)
}
)
})
shinyApp(ui,server)
downloadButton 中验证结果输出
一种情况是通过shinyjs,只有输入时,才显示下载按钮:
library(shiny)
ui <- fluidPage(
shinyjs::useShinyjs(),
textInput("text", "content", "", placeholder = "please insert something"),
shinyjs::hidden(downloadButton("download"))
)
server <- function(input, output, session) {
output$download <- downloadHandler(
filename = "file.csv",
content = function(file) {
write.csv(data.frame(content = input$text), file)
}
)
observeEvent(input$text, {
if (input$text == "")
shinyjs::hide("download")
else
shinyjs::show("download")
})
}
shinyApp(ui, server)
另一种情况是downloadButton搭配uiOutput,即只有输出结果出现时,下载按钮才出现。
#ui端
uiOutput("download")
#server端
output$download <- renderUI({
if(!is.null(input$file1) & !is.null(input$file2)) {
downloadButton('OutputFile', 'Download Output File')
}
})
添加进度条
但不是真正的程序进度。
# Only run examples in interactive R sessions
if (interactive()) {
options(device.ask.default = FALSE)
ui <- fluidPage(
plotOutput("plot")
)
server <- function(input, output) {
output$plot <- renderPlot({
withProgress(message = 'Calculation in progress',
detail = 'This may take a while...', value = 0, {
for (i in 1:15) {
incProgress(1/15)
Sys.sleep(0.25)
}
})
plot(cars)
})
}
shinyApp(ui, server)
}
如何确保仅在使用Shiny按下操作按钮时才触发操作
search_tweets <- function(search) return(search)
library(shiny)
ui <- fluidPage(
# Application title
#titlePanel("Twitter Analytics"),
fluidRow(
column( 4, titlePanel("Twitter Analytics")),
column( 3, textOutput("mysearch") ),
column( 4, textInput("searchstring",
label = "",
value = "")),
column(1,
br(),
actionButton("action", "go"))
)
)
server <- function(input, output) {
twitter <- eventReactive(input$action,{
search_tweets(input$searchstring)
})
output$mysearch <- renderText({
twitter()
})
}
shinyApp(ui, server)
其他
需要系统性学习了,不然不能随心所欲,寸步难行。多看看别人的项目:
https://github.com/rli012/CancerMIRNome
https://github.com/wangshisheng/NAguideR
【R shiny】一些应用记录的更多相关文章
- Building [Security] Dashboards w/R & Shiny + shinydashboard(转)
Jay & I cover dashboards in Chapter 10 of Data-Driven Security (the book) but have barely mentio ...
- R Shiny app | 交互式网页开发
网页开发,尤其是交互式动态网页的开发,是有一定门槛的,如果你有一定的R基础,又不想过深的接触PHP和MySQL,那R的shiny就是一个不错的选择. 现在R shiny配合R在统计分析上的优势,可以做 ...
- R shiny 小工具Windows本地打包部署
目录 服务器部署简介 windows打包部署 1. 部署基本框架 2.安装shiny脚本需要的依赖包 3.创建运行shiny的程序 [报错解决]无法定位程序输入点EXTPTE_PTR于动态链接库 将小 ...
- R︱shiny实现交互式界面布置与搭建(案例讲解+学习笔记)
要学的东西太多,无笔记不能学~~ 欢迎关注公众号,一起分享学习笔记,记录每一颗"贝壳"~ --------------------------- 看了看往期的博客,这个话题竟然是第 ...
- kmeans聚类中的坑 基于R shiny 可交互的展示
龙君蛋君 2015年5月24日 1.背景介绍 最近公司在用R 建模,老板要求用shiny 展示结果,建模的过程中用到诸如kmean聚类,时间序列分析等方法.由于之前看过一篇讨论kmenas聚类针对某一 ...
- 将Shiny APP搭建为独立的桌面可执行程序 - Deploying R shiny app as a standalone application
目录 起源! 目的? 怎么做? 0 准备工作 1 下载安装R-portable 2 配置 Rstudio 3 搭建Shiny App 3.1 添加模块 3.2 写AppUI和AppServer 3.3 ...
- 使用R语言将微信记录制作成词云(简洁)--情人节奥义
一.导出并读入微信聊天记录 参照百度的方法,使用同步助手.安装同步助手--连接手机(安卓苹果均可)--点击"其他功能"--点击微信图标即可进入聊天记录导出界面(非常简单). ...
- R 语言学习过程全记录 ~
RStudio介绍超详细的教程:https://www.jianshu.com/p/132919ca2ca9 前辈的心得:https://blog.csdn.net/kMD8d5R/article/d ...
- SHINY-SERVER R(sparkR)语言web解决方案 架设shiny服务器
1. shiny server简介 shiny-server是一种可用把R 语言以web形式展示的服务,其实RStudio公司自己构建了R Shiny Application运行的平台(http:// ...
随机推荐
- AIApe问答机器人Scrum Meeting 5.5&5.6
Scrum Meeting 7 日期:2021年5月5日&2021年5月6日 会议主要内容概述:汇报近日工作,确定下一步计划,放弃"关键词提取"和"改进关键词&q ...
- 【二食堂】Beta - Scrum Meeting 7
Scrum Meeting 7 例会时间:5.19 18:30~18:50 进度情况 组员 当前进度 今日任务 李健 1. 文本区域的前后端对接完成,bug已经修复issue2. 自定义关系的添加与删 ...
- 技术博客——微信小程序UI的设计与美化
技术博客--微信小程序UI的设计与美化 在alpha阶段的开发过后,我们的小程序也上线了.看到自己努力之后的成果大家都很开心,但对比已有的表情包小程序,我们的界面还有很大的提升空间,许多的界面都是各个 ...
- 2020BUAA软工结伴项目作业
2020BUAA软工结伴项目作业 17373010 杜博玮 项目 内容 这个作业属于哪个课程 2020春季计算机学院软件工程(罗杰 任健) 这个作业的要求在哪里 结伴项目作业 我在这个课程的目标是 学 ...
- js基础学习之"=="与"==="的区别
var a = 1; var b = 1; var c = "1"; 1. "==" 可理解为相等运算符.相等运算符比较时,会自己进行类型转换,等于什么类型就会 ...
- QEvent
QEvent类是所有事件类的基类,每一个对象都包含事件参数.Qt的主事件循环(QCoreApplication::exec())从事件队列中接收本地窗口系统的事件,并将它们翻译成QEvent,将这些事 ...
- 嵌入式单片机stm32之DMA实验
一. 对于大容量的STM32芯片有2个DMA控制器,控制器1有7个通道,控制器2有5个通道 每个通道都可以配置一些外设的地址. 二. 通道的配置过程: 1. 首先设置CPARx寄存器和CMARx寄存器 ...
- IDA*、操作打表、并行处理-The Rotation Game HDU - 1667
万恶之源 优秀题解 用文字终究难以穷尽代码的思想 思路 每次操作都有八种选择,相当于一棵每次延申八个子节点的搜索树,故搜索应该是一种方法.而这题要求求最少步数,我们就可以想到可以试试迭代加深搜索(但其 ...
- Sending and Trapping Signals
http://mywiki.wooledge.org/SignalTrap Signals are a basic tool for asynchronous interprocess communi ...
- Docker的centos镜像内无法使用systemctl命令的解决办法
在Docker官方的centos镜像内无法使用systemctl命令的解决办法, 使用该命令docker报错 Failed to get D-Bus connection: Operation not ...