我使用FactorMineR軟件包構建了一個簡單的應用程序,根據所選變量進行MCA分析和聚類。shinyapps.io不繪製地塊
該應用可以在我的本地設備上正常工作,但它不會在shinyapps.io服務器上顯示任何情節(基本情節和ggplots)。我檢查了包裹,本地和遠程他們是一樣的。我還檢查了FactoMineR pcg的MCA()函數是否通過抽取一些結果並將它們呈現爲表格,從而得出了積極的結果。所以只有繪圖的問題。我一直試圖解決它兩天,但沒有任何幫助,所以我要求你提供任何建議。
這裏是鏈接到應用程序:https://mikolajm.shinyapps.io/MCA_test/
而且重複的例子
library(shiny)
library(FactoMineR)
library(cluster)
library(ggplot2)
data(tea)
ui <- fluidPage(
# Application title
titlePanel("MCA"),
textOutput("packages"),br(),
tableOutput("table"),br(),
fluidRow(
column(4, checkboxGroupInput("Variables", "Select variables:",
names(tea), selected=c("breakfast", "tea.time"))),
column(4, plotOutput("plot")), column(4, plotOutput("plot1"))),
fluidRow(column(12, plotOutput("dendro", height = "700px", width="1200px"))
)
)
server <- function(input, output) {
## packages checking
output$packages <- renderText({.packages()})
tea_selected <- reactive({
tea[, input$Variables]
})
## table with some results from MCA() fun
output$table <- renderTable({
tea.mca <- MCA(tea_selected(), ncp=9)
tea.mca$eig[1:5,]
})
## mca1
output$plot <- renderPlot({
library(FactoMineR)
par(mfrow=c(2,2))
tea.mca <- MCA(tea_selected(), ncp=9)
})
## mca with ggplot
output$plot1 <- renderPlot({
tea.mca <- MCA(tea_selected(), ncp=9)
tea_vars_df <- data.frame(tea.mca$var$eta2, Variable =names(tea_selected()))
library(ggplot2)
pp <- ggplot(data=tea_vars_df, aes(x=Dim.1, y=Dim.2, label=Variable))+
geom_hline(yintercept = 0, colour = "gray70") +
geom_vline(xintercept = 0, colour = "gray70") +
geom_point()+
geom_text() +
ggtitle("MCA plot of variables ")+
theme_bw()
pp
})
### dendro
output$dendro <- renderPlot({
library(FactoMineR)
library(cluster)
tea.mca <- MCA(tea_selected(), ncp=9)
classif <- agnes(tea.mca$ind$coord,method="ward")
plot(classif,main="Dendrogram",ask=F,which.plots=2)
})
}
# Run the application
shinyApp(ui = ui, server = server)
您是否使用R代碼上傳數據?您能否顯示您用於上傳「app.R」和您的數據到shinyapps.io的命令?如果它在本地工作,最簡單的解釋是你缺少shinyapps.io上的數據。 – CPak
我使用rstudio發佈按鈕上傳了我的代碼(在我的文章中)。數據(茶)包含在factominer包中。複選框從這些數據中導入變量,並且它們顯示在網頁上但不顯示。所以我認爲這不是數據問題。 – MikolajM
每次在apps.io上運行時,R會話都必須運行它。你確定R閃亮服務器上的R環境有'FactoMineR'嗎?將'textOutput(「packages」)'添加到''ui'和'output $ packages < - renderText({。packages()})''到''server'。在本地嘗試,它應該打印在您的環境中加載的軟件包。然後在apps.io上試試... – CPak