当前位置: 首页 > news >正文

【0008day】Shiny的介绍

介绍:Shiny 是一个开源 R 包,它提供了一个优雅而强大的 Web 框架,用于使用 R 构建 Web 应用程序。Shiny 可以帮助您将分析转变为交互式 Web 应用程序,而无需 HTML、CSS 或 JavaScript 知识。

# download R package
pkgtest <- function(x){if(x %in% rownames(installed.packages()) == FALSE){install.packages(x,dependencies = TRUE)}library(x,character.only = TRUE)}
neededpackages <- c("shiny","dplyr","plotly","readxl","DT","ggExtra")
for(package in neededpackages){pkgtest(package)}library(shiny)
library(bslib)
library(dplyr)
library(ggplot2)
library(ggExtra)penguins_csv <- "E:\\BaiduSyncdisk\\A-Area longtime\\R language\\Niche\\temp_data.csv"df <- readr::read_csv(penguins_csv)
# Find subset of columns that are suitable for scatter plot
df_num <- df |> select(where(is.numeric), -Year)ui <- page_sidebar(sidebar = sidebar(varSelectInput("xvar", "X variable", df_num, selected = "Bill Length (mm)"),varSelectInput("yvar", "Y variable", df_num, selected = "Bill Depth (mm)"),checkboxGroupInput("species", "Filter by species",choices = unique(df$Species), selected = unique(df$Species)),hr(), # Add a horizontal rulecheckboxInput("by_species", "Show species", TRUE),checkboxInput("show_margins", "Show marginal plots", TRUE),checkboxInput("smooth", "Add smoother"),),plotOutput("scatter")
)server <- function(input, output, session) {subsetted <- reactive({req(input$species)df |> filter(Species %in% input$species)})output$scatter <- renderPlot({p <- ggplot(subsetted(), aes(!!input$xvar, !!input$yvar)) + list(theme(legend.position = "bottom"),if (input$by_species) aes(color = Species),geom_point(),if (input$smooth) geom_smooth())if (input$show_margins) {margin_type <- if (input$by_species) "density" else "histogram"p <- ggExtra::ggMarginal(p, type = margin_type, margins = "both",size = 8, groupColour = input$by_species, groupFill = input$by_species)}p}, res = 100)
}shinyApp(ui, server)

所需要的资料下载:https://download.csdn.net/download/qq_45697428/89440340

运行的结果:

在这里插入图片描述
在这个框架下可以调整XY轴的内容

相关文章:

  • STM32作业设计
  • 【网络安全】【深度学习】【入侵检测】SDN模拟网络入侵攻击并检测,实时检测,深度学习【二】
  • 异常封装类统一后端响应的数据格式
  • iOS 查看runtime源码的几种方法
  • C++程序打开EXCEL2010失败,提示:远程过程调用失败
  • C++ 53 之 继承中同名成员处理
  • 设计通用灵活的LabVIEW自动测试系统
  • Three.js加载压缩的glb/gltf文件
  • 鸿蒙HarmonyOS开发 preferences首选项
  • ARM 汇编 C语言 for循环
  • 【设计模式深度剖析】【8】【行为型】【备忘录模式】| 以后悔药为例加深理解
  • 为什么说Python 是胶水语言?
  • C# OpenCvSharp 代数运算-add、scaleAdd、addWeighted、subtract、absdiff、multiply、divide
  • 大型企业IT基础架构和应用运维体系
  • 基于Java的诊所医院管理系统,springboot+html,MySQL数据库,用户+医生+管理员三种身份,完美运行,有一万一千字论文
  • 【划重点】MySQL技术内幕:InnoDB存储引擎
  • 78. Subsets
  • AzureCon上微软宣布了哪些容器相关的重磅消息
  • CoolViewPager:即刻刷新,自定义边缘效果颜色,双向自动循环,内置垂直切换效果,想要的都在这里...
  • CSS3 聊天气泡框以及 inherit、currentColor 关键字
  • Django 博客开发教程 16 - 统计文章阅读量
  • EOS是什么
  • Eureka 2.0 开源流产,真的对你影响很大吗?
  • JavaScript 奇技淫巧
  • Kibana配置logstash,报表一体化
  • leetcode388. Longest Absolute File Path
  • OSS Web直传 (文件图片)
  • Shadow DOM 内部构造及如何构建独立组件
  • 阿里云ubuntu14.04 Nginx反向代理Nodejs
  • 关于for循环的简单归纳
  • 离散点最小(凸)包围边界查找
  • 想使用 MongoDB ,你应该了解这8个方面!
  • 小试R空间处理新库sf
  • ​马来语翻译中文去哪比较好?
  • (¥1011)-(一千零一拾一元整)输出
  • (3) cmake编译多个cpp文件
  • (PWM呼吸灯)合泰开发板HT66F2390-----点灯大师
  • (rabbitmq的高级特性)消息可靠性
  • (办公)springboot配置aop处理请求.
  • (超简单)构建高可用网络应用:使用Nginx进行负载均衡与健康检查
  • (转) 深度模型优化性能 调参
  • (转)Oracle存储过程编写经验和优化措施
  • (转)人的集合论——移山之道
  • .form文件_SSM框架文件上传篇
  • .net core 实现redis分片_基于 Redis 的分布式任务调度框架 earth-frost
  • .NET 快速重构概要1
  • .net 生成二级域名
  • .Net下C#针对Excel开发控件汇总(ClosedXML,EPPlus,NPOI)
  • .net专家(高海东的专栏)
  • @SentinelResource详解
  • @Transactional类内部访问失效原因详解
  • @vue/cli 3.x+引入jQuery
  • [20150707]外部表与rowid.txt
  • [2019.3.20]BZOJ4573 [Zjoi2016]大森林
  • [Algorithm][动态规划][两个数组的DP][正则表达式匹配][交错字符串][两个字符串的最小ASCII删除和][最长重复子数组]详细讲解