R Shiny执行订单

时间:2016-01-27 14:14:41

标签: r shiny

我对Shiny(以及R)相当新,但我已经设法启动并运行了一个应用程序。

然而,当RStudio实际运行两个脚本 server.R ui.R

时,我对“执行顺序”感到困惑。

在我看来,有4个代码段(2个用于 server.R 脚本,2个用于 ui.R 脚本):

server.R:

###### SECTION 1

shinyServer(function(input, output, session) {


  ###### SECTION 2


})

ui.R:

###### SECTION 1

shinyUI(fluidPage(

  ###### SECTION 2

)
)

我的问题是,假设我有上述正确,哪些部分是第一,第二,第三等?

1 个答案:

答案 0 :(得分:7)

在每个部分中添加print语句并从RStudio运行。消息显示在控制台中。我得到了

[1] "section 1 of UI"
[1] "section 2 of UI"
[1] "section 1 of server"
[1] "section 2 of server"

关于对象访问,我尝试了以下内容并查看每个环境中的变量。

ui.R

VarDefinedInSec1UI <- 1

print("* section 1 of UI")
cat(ls(), "\n\n")

shinyUI(fluidPage(
  VarDefinedInSec2UI <- 2,

  print("* section 2 of UI"),
  cat(ls(), "\n\n")
))

server.R

VarDefinedInSec1Server <- 3

print("* section 1 of server")
cat(ls(), "\n\n")

shinyServer(function(input, output, session) {
  VarDefinedInSec2Server <- 4

  print("* section 2 of server")
  cat(ls(), "\n\n")
})

我得到了:

[1] "* section 1 of UI"
VarDefinedInSec1UI 

[1] "* section 2 of UI"
VarDefinedInSec1UI VarDefinedInSec2UI 

[1] "* section 1 of server"
VarDefinedInSec1Server 

[1] "* section 2 of server"
input output session VarDefinedInSec2Server