美文网首页
[R-shiny]交互,变量变化实时更新

[R-shiny]交互,变量变化实时更新

作者: expgene | 来源:发表于2023-09-22 15:26 被阅读0次

探序基因计算中心整理

效果:

变量1和变量2变化时,下面的显示也会实时更新。

代码:

library(shiny)

library(shinyjs)

library(shinyBS)

ui <- fluidPage(

  tags$style(HTML(" input:invalid { background-color: #FFCCCC; }")),

  #### Set up shinyjs ####

  useShinyjs(),

  ### shinyBS ###

  bsAlert("alert"),

  numericInput("myValue", "My Variable", min = 0, max = 1, value = 0.5),

  numericInput("myValue2", "My Variable2", min = 0, max = 3, step = 0.5, value = 0.5),

  textOutput("text"),

  textOutput("text2")

)

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

  output$text <- renderText({

    ### shinyBS ###

    if(!(is.na(input$myValue)) && (input$myValue > 1 | input$myValue < 0)) {

      createAlert(session, "alert", "myValueAlert", title = "shinyBS: Invalid input",

                  content = "'My Variable' must be between 0 and 1", style = "danger")

    } else {

      closeAlert(session, "myValueAlert")

      return(input$myValue)

    }

  })

  output$text2 <- renderText(input$myValue2)

  ### modalDialog ###

  observeEvent(input$myValue, {

    if(!is.na(input$myValue) && (input$myValue > 1 | input$myValue < 0)) {

      showModal(modalDialog(

        title = "modalDialog: Invalid input",

        "'My Variable' must be between 0 and 1"

      ))

    }

  })

  ### shinyjs ###

  observeEvent(input$myValue, {

    if(!(is.na(input$myValue)) && (input$myValue > 1 | input$myValue < 0)) {

      alert("shinyJS: 'My Variable' must be between 0 and 1")

    }

  })

}

shinyApp(ui, server)

eg2symbol=toTable(org.Hs.egSYMBOL)

eg2name=toTable(org.Hs.egGENENAME)

eg2alias=toTable(org.Hs.egALIAS2EG)

eg2alis_list=lapply(split(eg2alias,eg2alias$gene_id),function(x){paste0(x[,2],collapse = ";")})

GeneList=mappedLkeys(org.Hs.egSYMBOL)

GeneList[1]

if( GeneList[1] %in% eg2symbol$symbol ){

  symbols=GeneList

  geneIds=eg2symbol[match(symbols,eg2symbol$symbol),'gene_id']

}else{

  geneIds=GeneList

  symbols=eg2symbol[match(geneIds,eg2symbol$gene_id),'symbol']

}

geneNames=eg2name[match(geneIds,eg2name$gene_id),'gene_name']

geneAlias=sapply(geneIds,function(x){ifelse(is.null(eg2alis_list[[x]]),"no_alias",eg2alis_list[[x]])})

save(geneAlias,file="D:/gene.alias.RData")

library("gridtext")

相关文章

  • 用R语言来做词云

    创建包 示例 中文版本 通过 R-shiny来绘制交互性图片 run the above code and cli...

  • 使用Apple最新的Swift UI技术编写更好的app(3)

    实现响应式程序 用户交互的意图可以反馈到模型,模型的数据变化又能实时更新到视图上,是我们今天要实现的内容。 修改名...

  • Vue-nextTick

    因为dom实时发生变化,要异步更新

  • 实时交互

    socket.io Server-Sent Events(SSE) 允许服务端推送数据到客户端:性能较好、实时性较...

  • Flutter状态管理--GetX的简单使用

    一、前言Flutter开发,就需要对各种状态的管理,就是在请求数据的时候需要实时变化,各种交互变化等,在没有使用G...

  • [实时权重]搜索权重“实时更新”变化之下的思考

    基于淘宝服务器技术的颠覆,搜索权重的更新频率,从很早前的30天更新,到后来的7天更新,再到现在的实时更新。 1、权...

  • Kotlin-第1节、kotlin基础语法和Java与kotli

    目录:1、声明变量2、声明函数3、Java与Kotlin交互的语法变化---3.1、调用方法---3.2、kotl...

  • RIP

    RIP 静态路由的缺点:1、 配置量繁琐2、 无法针对拓扑的变化而自动变化---无实时更新 静态路由的优点:1...

  • 王者荣耀战力省榜实时查询结果 2020-10-24

    安卓QQ区 以下为今日安卓qq区省榜荣耀战力实时查询的数据,各地省榜战力分数会不断更新及变化,更新及变化规则以官方...

  • 新的项目需求

    需求分析 数据实时交互客户端和服务器端实时的数据交互。socket套接字实时监控或者其他方案。 界面展示画图。把复...

网友评论

      本文标题:[R-shiny]交互,变量变化实时更新

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