我仍然想要了解闪亮的模块。下面是一个简单的例子,我无法工作:
# MODULE UI
bsc_test_UI <- function(id) {
ns <- NS(id)
textOutput(ns("test"))
}
# MODULE Server
bsc_test_OUT <- function(input, output, session, df, var) {
output$test <- renderText({
x <- mean(df$var, na.rm=T)
t <- paste0(var, "=", x)
})
}
# App ui
ui <- fluidPage(
bsc_test_UI("test_1"),
bsc_test_UI("test_2"),
bsc_test_UI("test_3")
)
# App server
server <- function(input, output,session){
callModule(bsc_test_OUT, "test_1", mtcars, 'cyl')
callModule(bsc_test_OUT, "test_2", mtcars, 'mpg')
callModule(bsc_test_OUT, "test_3", iris, 'Sepal.Length')
}
# App
shinyApp(ui, server)
用于打印变量&#34; var&#34;的平均值。数据帧&#34; df&#34;,但它不起作用。
这是输出:
cyl=NA
mpg=NA
Sepal.Length=NA
我尝试将var名称放在没有quotqtions的情况下,但没有成功。 有什么想法吗?
答案 0 :(得分:0)
只需将df$var
替换为df[,var]
,就可以了
library(shiny)
# MODULE UI
bsc_test_UI <- function(id) {
ns <- NS(id)
textOutput(ns("test"))
}
# MODULE Server
bsc_test_OUT <- function(input, output, session, df, var) {
output$test <- renderText({
x <- mean(df[,var], na.rm=T)
t <- paste0(var, "=", x)
})
}
# App ui
ui <- fluidPage(
bsc_test_UI("test_1"),
bsc_test_UI("test_2"),
bsc_test_UI("test_3")
)
# App server
server <- function(input, output,session){
callModule(bsc_test_OUT, "test_1", mtcars, 'cyl')
callModule(bsc_test_OUT, "test_2", mtcars, 'mpg')
callModule(bsc_test_OUT, "test_3", iris, 'Sepal.Length')
}
# App
shinyApp(ui, server)