2014-11-18 3 views
0

Я хотел бы, чтобы создать новый HTML таблицу каждый раз, когда пользователь изменяет параметр «массу» ниже, а затем выставлять его динамическикак динамически обновлять 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") 


    ) 
) 
)) 

таблица генерируется, но я не знаю, как обновить его.

Я понял путь и отредактировал выше.

+0

Я думаю, что это называется реактивировать. См. [Post] (http://stackoverflow.com/questions/14902188/update-a-data-frame-in-shiny-server-r-without-restarting-the-app) –

+0

Спасибо @CronAcronis, я понял, что и изменилось. – user1265067

ответ

0

Я столкнулся с той же проблемой, что и user1265067, и нашел решение проблемы.

Поскольку эти вопросы не хватает ответ и в том случае, когда другие пользователи наткнуться на эту тему, пожалуйста, найти свое решение (с рабочим примером игрушки) в этой теме: Shiny - populate static HTML table with filtered data based on input

Короче говоря, я обернуть статический HTML таблицу в функции, отправьте ее на сервер и вызовите в функции renderUI().

Смежные вопросы