如何在闪亮的应用程序上动态更新html表

时间:2014-11-18 12:01:34

标签: r shiny

每当用户更改参数" mass"时,我想生成一个新的html表。下面,然后动态展示它

server.R

library(hwriter)
shinyServer(function(input, output) {

    output$distPlot <- renderText({
        mass <- as.numeric(input$mass) 
        win <- as.numeric(input$sswin) 
        m1 <- mass-win/2
        m2 <- mass+win/2


        etr <- paste0("http://rest.kegg.jp/find/compound/", m1, "-", m2, "/exact_mass")
        tb <- read.table(etr)  
        colnames(tb) <- c("id", "mass")

        #p <- openPage('test.html')
        tblk <- cbind(paste0("http://www.kegg.jp/dbget-bin/www_bget?", tb[,1]), NA)
        #hwrite(tb, p, link = tblk)
        hwrite(tb, link = tblk)
        #close(p)

      })


})

ui.R

library(shiny)

shinyUI(fluidPage(


  sidebarLayout(
    sidebarPanel(

           textInput("mass", "Mass:", "200.05"),
           textInput("sswin", "Search window:", "0.5")

    ),


    # Show a plot of the generated distribution
    mainPanel(

      #plotOutput("distPlot"),
      #includeHTML("test.html")
      uiOutput("distPlot")


    )
  )
))

正在生成该表,但我不知道如何更新它。

我找到了一种方法并在上面进行了编辑。

1 个答案:

答案 0 :(得分:0)

我遇到了与user1265067完全相同的问题,我找到了问题的解决方案。

由于这些问题缺乏答案,并且在其他用户偶然发现此主题的情况下,请在此主题中找到我的解决方案(带有工作玩具示例):Shiny - populate static HTML table with filtered data based on input

简而言之,我将静态html表包装在一个函数中,在服务器中将其源代码并在renderUI()函数中调用它。