美文网首页
一个有问题的shiny

一个有问题的shiny

作者: 一只烟酒僧 | 来源:发表于2022-01-11 19:18 被阅读0次

写了一个有问题的shiny,但是不知道哪里出错了。
更新:如果把86行的参数删掉,或这把69-78行删掉,是可以运行的。猜测是DT包的问题!

library(shiny)
library(dplyr)
library(RColorBrewer)
library(ggsci)
library(DT)
library(plyr)

#-------------------------------------------------------
# Chapter:获得一个配色表
#-------------------------------------------------------
#Rcolorbrewer配色
mlply(brewer.pal.info%>%mutate(set=rownames(.))%>%dplyr::select(maxcolors,set)%>%setNames(c("n","name")),
      brewer.pal)%>%setNames(rownames(brewer.pal.info))%>%
  ldply(as.data.frame)%>%dplyr::select(2:3)%>%setNames(c("Set","Color")) ->RColorBrewer_color



#ggsci颜色
ggsci_env<-environment(pal_aaas)
ggsci_env$ggsci_db%>%lapply(.,function(x){ldply(x,as.data.frame)%>%setNames(c("Set","Color"))})%>%
  ldply(.,as.data.frame)%>%setNames(c("Set1","Set2","Color"))%>%mutate(Set=paste(Set1,Set2,sep = "_"))%>%
  dplyr::select(Set,Color) ->ggsci_color

#-------------------------------------------------------
# Chapter:shiny
#-------------------------------------------------------


Rcolor_set<-RColorBrewer_color$Set%>%unique()
ggsci_set<-ggsci_color$Set%>%unique()

ui <- fluidPage(
  selectInput("pack_select",
              "Select A package",
              choices = list(ggSCI="ggsci",RColorBrewer="rcolorbrewer"),
              selected = "ggsci"),
  uiOutput("set_select_ui"),
  DT::dataTableOutput("color_table")
  
)

server <- function(input, output, session) {

color_set<-reactive({
  if(input$pack_select=="ggsci"){
    color_set=ggsci_set
  }
  
  if(input$pack_select=="rcolorbrewer"){
    color_set=Rcolor_set
  }
  return(color_set)
})

  
#-----------------------------------------------------------------------------
  output$set_select_ui<-renderUI(
    {
      selectInput("set_select",
                  "Select A Set",
                  choices = structure(color_set(),names=color_set()),
                  selected = color_set()[1])
    }
  )

#-----------------------------------------------------------------------------
  
#69-78行的代码可能出现了问题!!!
  color_show<-reactive({
    if(input$pack_select=="ggsci"){
      color_show=subset(ggsci_color,Set==input$set_select)
    }

    if(input$pack_select=="rcolorbrewer"){
      color_show=subset(RColorBrewer_color,Set==input$set_select)
    }
    return(color_show)
  })
#-----------------------------------------------------------------------------
  output$color_table<-renderDT({

    datatable(color_show(),editable = F,options = list(pageLength=10))%>%
      formatStyle(columns = 1,`text-align`="center")%>%
      formatStyle(columns = 2,
                  `text-align`="center",
                  backgroundColor = styleEqual(color_show()$Color,color_show()$Color))
  })
#-----------------------------------------------------------------------------
  
}

shinyApp(ui, server)  

相关文章

  • 一个有问题的shiny

    写了一个有问题的shiny,但是不知道哪里出错了。更新:如果把86行的参数删掉,或这把69-78行删掉,是可以运行...

  • Flyway版本化管理数据库脚本

    假如我们有一个叫shiny的项目,它是由一个程序Shiny-Server 和一个数据库 Shiny-DB组成的; ...

  • Shiny 教程1

    简介shiny 什么是shiny: Shiny 是一个开源的 R 包,它为使用 R 构建 Web 应用提供了一个优...

  • shiny学习(一)

    Shiny是一个R软件包,可很方便的从R直接构建交互式Web应用程序。 首先是安装Shiny软件包 Shiny有1...

  • Shiny 初步了解

    想了解Shiny app运行原理,可以查看先前的文章一个 Shiny app的基本组成部分 Shiny app框架...

  • R shiny教程-7:共享Shiny app

    创建一个 Shiny app之后,有时候需要共享给他人。 分享Shiny app,一般有两种途径: Share y...

  • shiny部署

    有几种方式: 1. Shinyapps.io 2. Shiny server 3. Shiny Server Pr...

  • LearningR-shiny

    1. shiny 1.1 About shiny 1.2 shiny examples 2. rsconnect ...

  • 「R shiny 基础」初识Shiny

    传送门 Shiny基础教程: 「R shiny 基础」初识Shiny 「R shiny 基础」如何进行网页布局 「...

  • Shiny-Server Second

    继上一次 shiny-server在docker上完成部署,shiny-server在使用依然出在着一些问题。 经...

网友评论

      本文标题:一个有问题的shiny

      本文链接:https://www.haomeiwen.com/subject/yocicrtx.html