再利用可能にするために、Shiny アプリケーションの機能を分離しようとしています。
私は私のUIを持っています。私が定義するRファイル:
tabPanel("Unemployed", source("unemployed_select.R", local=TRUE)$value),
私のunemployed_select.Rでは、次のように定義します。
fluidPage(
titlePanel("Basic DataTable"),
# Create a new Row in the UI for selectInputs
fluidRow(
column(4,
selectInput("man",
"Manufacturer:",
c("All",
unique(as.character(mpg$manufacturer))))
),
column(4,
selectInput("trans",
"Transmission:",
c("All",
unique(as.character(mpg$trans))))
),
column(4,
selectInput("cyl",
"Cylinders:",
c("All",
unique(as.character(mpg$cyl))))
)
),
# Create a new row for the table.
fluidRow(
DT::dataTableOutput("table")
)
)
私のserver.Rファイルは次のとおりです。
library(shiny)
library(shinythemes)
library(dataset)
shinyServer(function(input, output) {
# Filter data based on selections
output$table <- DT::renderDataTable(DT::datatable({
data <- mpg
if (input$man != "All") {
data <- data[data$manufacturer == input$man,]
}
if (input$cyl != "All") {
data <- data[data$cyl == input$cyl,]
}
if (input$trans != "All") {
data <- data[data$trans == input$trans,]
}
data
}))
})
R ギャラリーのよく知られた例のコードを使用しましたhttps://shiny.rstudio.com/gallery/basic-datatable.html
データに問題がないことを確認するだけです。まだデータテーブルはレンダリングされていないので、ソースファイルunemployed_select.R内での定義に問題があると思います。
何か案は?
よろしく