【问题标题】:submit data to shiny to create data frame and then write the data frame to file将数据提交给闪亮以创建数据框,然后将数据框写入文件
【发布时间】:2014-08-13 09:41:49
【问题描述】:

我是闪亮的新手。我想知道如何使用“textInput”将三个字符串提交给闪亮的服务器以创建一个数据框,然后将此数据框写入本地文件。

这是我的脚本。但它不起作用。任何帮助表示赞赏。谢谢!

UI.R

shinyUI(fluidPage(

  fluidRow(

    absolutePanel(

      helpText(h5("Submit new gene.")),
      wellPanel(
        column(4, textInput('symsub', "Gene symbol",value="")),
        column(4, textInput('msusub', "MSU genomic locus",value="")),
        column(4, textInput('rapsub', "RAPdb genomic locus",value="")),
        actionButton("submit1", strong("Submit"))
      ),

      textOutput("mytext20"),

      p(HTML("<b><div style='background-color:#FADDF2;border:1px solid
             blue;'></div></b>")),
      br(),

      right=5, left=10
    )
  )

))

server.R

write.gene <- function(df) {
  write.table(df, file="gene.info", sep="\t", quote=F, row.names=F)
}


#### Shiny
shinyServer(function(input, output) {

  geneNew <- reactive({
    if (input$submit1>0) {
      df.gene <- data.frame(Symbol=input$symsub, MSU=input$msusub, RAPdb=input$rapsub,
                            stringsAsFactors=FALSE)
      write.gene(df.gene)
    } else {NULL}
  })

  output$mytext20 = renderText({
    input$submit1
  })
}

【问题讨论】:

    标签: r shiny rstudio


    【解决方案1】:

    你的反应导体:

      geneNew <- reactive({
        if (input$submit1>0) {
          df.gene <- data.frame(Symbol=input$symsub, MSU=input$msusub, RAPdb=input$rapsub,
                                stringsAsFactors=FALSE)
          write.gene(df.gene)
        } else {NULL}
      })
    

    在你的代码中没有被调用,因此它永远不会被执行。改用观察者:

      observe({
        if (input$submit1>0) {
          df.gene <- data.frame(Symbol=input$symsub, MSU=input$msusub, RAPdb=input$rapsub,
                                stringsAsFactors=FALSE)
          write.gene(df.gene)
        } else {NULL}
      })
    

    【讨论】:

    • 这正是我想要的。非常感谢!
    猜你喜欢
    • 2019-09-02
    • 2020-03-16
    • 2021-06-21
    • 1970-01-01
    • 1970-01-01
    • 2017-03-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多