Я запрограммировал небольшое приложение, в котором вы видите переключатель, который вы можете использовать для переключения между графиком и визуализированной таблицей.Оно работает.После этого я прочитал блестящую документацию по модулям и в итоге получил это приложение:
мое приложение. R
library(shiny)
ui <- fluidPage(
fluidRow(
column(6,
chartTableSwitchUI("firstUniqueID")
)
)
)
server <- function(input, output) {
callModule(chartTableSwitch, "firstUniqueID")
}
shinyApp(ui = ui, server = server)
, и я написал код globar.R, который выглядит следующим образом:
library(shiny)
library(plotly)
#define a simple dataframe for module example
X <- c("a", "b", "c")
Y <- c(1,2,3)
df <- data.frame(X,Y)
#UI function for first module
chartTableSwitchUI <- function(id){
ns <- NS(id)
tagList(
radioButtons("rb1", "View", choices = c(ns("Chart"), ns("Table")),
selected = "Chart", inline = TRUE),
conditionalPanel(
condition = "input.rb1 == 'Chart'", ns=ns,
plotlyOutput(ns("chart"))),
conditionalPanel(
condition = "input.rb1 == 'Table'", ns=ns,
tableOutput(ns("chartTable")))
)
}
#Server logic for first module
chartTableSwitch <- function(input, output, session){
output$chart <- renderPlotly(
plot_ly(df, x = ~X, y = ~Y)
)
output$chartTable <- renderTable(df)
}
Если я запускаю приложение, переключатели есть, но нет графика или диаграммы.Просто радио кнопки.
Некоторые исследования здесь, посвященные StackExchange, подсказали мне, что это, вероятно, связано с ошибкой в пространстве имен, но я не знаю, в чем именно заключается проблема.
Где моя ошибка?