【发布时间】:2021-01-07 21:11:27
【问题描述】:
我有一个问题:在一个闪亮的应用程序中,我用一个 reactive() 构造了一个变量。问题是,在这个过程的中间(这是一个很长的过程)我构造了我也需要的其他变量。 例如:
#---------------UI------------------
ui <- navbarPage(
title = "example",
tabPanel('panel',
tableOutput("my_table"),
tableOutput("colum_names"))
)
#---------------SERVER------------------
server <- function(input, output) {
a <- reactive({
df_1 <- data.frame("fc"=c(1,2,3), "sc"=c(1,2,3), "tc"=c(1,2,3) )
df_2 <- subset(df_1,select=-c(fc))
column_names <- colnames(df_2)
df_3 <- df_2*2
df_3
})
output$my_table = renderTable({
a()
})
output$colum_names = renderTable({
df_column_names = data.frame(column_names())
df_column_names
})
}
#---------------APP------------------
shinyApp(ui = ui, server = server)
在这个(非常短的)示例中,我需要变量“a”(当然)和变量“column_names”。我可以做一些事情,比如创建一个新的反应来重现所有过程,直到包含“column_names”的行并在那里完成。但是这个过程太长了,我更喜欢“高效”地做。
有什么想法吗??
非常感谢!
【问题讨论】: