在Rshiny中使用source命令而不进行TRUE评估

时间:2017-07-28 21:38:54

标签: r shiny

RShiny中制作更大的应用程序时,我喜欢将我的代码保存在单独的文件夹或菜单的单独文件中。当我在RShiny文件中放置.R命令并使用source()命令调用它时,在UI元素下面会打印TRUE。我尝试在ui.R和使用uiOutput()以及invisible()中调用来源。

如何停止TRUE渲染?

示例:

app.R

library(shiny)

ui <- fluidPage(h4("Attempt 1"),
                source("TestSource.R",local=T),
                h4("Attempt 2"),
                uiOutput("at2"),
                h4("Attempt 3"),
                invisible(source("TestSource.R")))

server <- function(input, output) {
  output$at2 <- renderUI({
    invisible(source(
      "TestSource.R",
      verbose = F,
      echo = F,
      print.eval = F,
      prompt.echo = F,
      local = T
    ))
  })
}

shinyApp(ui = ui, server = server)

TestSource.R

helpText("This is a test")

这是呈现的内容

An example output

提前致谢。

2 个答案:

答案 0 :(得分:2)

使用source("TestSource.R", local=TRUE)$value

一个很好的解释是here

答案 1 :(得分:0)

源函数生成一个列表:

def insertdata():
    c.execute("INSERT INTO Students VALUES (?, ?, ?, ?, ?, ?, ?, ?);", (surnamelabelentry.get(), forenamelabelentry.get(), dateofbirthlabelentry.get(), homeaddresslabelentry.get(), homephonenumberentry.get(), genderlabelentry.get(), tutorgrouplabelentry.get(), emaillabelentry.get()))
    c.execute('INSERT INTO Students(rowid) VALUES',(studentidentry.get()))
    conn.commit()
    rootE.destroy()

所以你可以尝试:

List of 2
 $ value  :List of 3
  ..$ name    : chr "span"
  ..$ attribs :List of 1
  .. ..$ class: chr "help-block"
  ..$ children:List of 1
  .. ..$ : chr "This is a test"
  ..- attr(*, "class")= chr "shiny.tag"
 $ visible: logi TRUE