我对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
)
)
我的问题是,假设我有上述正确,哪些部分是第一,第二,第三等?
答案 0 :(得分:7)
在每个部分中添加print
语句并从RStudio运行。消息显示在控制台中。我得到了
[1] "section 1 of UI"
[1] "section 2 of UI"
[1] "section 1 of server"
[1] "section 2 of server"
关于对象访问,我尝试了以下内容并查看每个环境中的变量。
VarDefinedInSec1UI <- 1
print("* section 1 of UI")
cat(ls(), "\n\n")
shinyUI(fluidPage(
VarDefinedInSec2UI <- 2,
print("* section 2 of UI"),
cat(ls(), "\n\n")
))
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