每当用户更改参数" 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")
)
)
))
正在生成该表,但我不知道如何更新它。
我找到了一种方法并在上面进行了编辑。
答案 0 :(得分:0)
我遇到了与user1265067完全相同的问题,我找到了问题的解决方案。
由于这些问题缺乏答案,并且在其他用户偶然发现此主题的情况下,请在此主题中找到我的解决方案(带有工作玩具示例):Shiny - populate static HTML table with filtered data based on input
简而言之,我将静态html表包装在一个函数中,在服务器中将其源代码并在renderUI()函数中调用它。