FactorMineRパッケージを使用して単純なアプリケーションを構築し、選択した変数に応じてMCA分析とクラスタリングを行いました。shinyapps.ioはプロットを描いていません
アプリケーションはローカルデバイスで正常に動作しますが、shinyapps.ioサーバーにはプロット(ベースプロットとggplotsのいずれも)が表示されません。私はパッケージをチェックし、ローカルでもリモートリーでも同じです。また、FactoMineR pcgのMCA()関数がいくつかの結果をextrackingしてテーブルとしてレンダリングして肯定的な結果を出すかどうかを調べました。だからプロットの描画に問題があるだけです。私は2日間それを解決しようとしていますが、何も役に立たないので、私はあなたにアドバイスをお願いしています。ここで
は、それが局部的にどのように見えるかです: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の公開ボタンを使用して私のコード(自分の投稿にあるもの)をアップロードしました。データ(茶)はファクトミナーパッケージに含まれています。チェックボックスは、このデータから変数をインポートします。プロットは表示されず、Webページに表示されます。だから私はそれがデータの問題ではないと思う。 – MikolajM
apps.ioでshinyが実行されるたびに、Rセッションでapps.ioを実行する必要があります。 R光沢のあるサーバーのR環境に「FactoMineR」がありますか?あなたの 'ui'と' output $ packages < - renderText({。packages()}) ''にあなたの 'server'に' textOutput( "packages") 'を追加してください。ローカルで試してみると、自分の環境にロードされているパッケージが印刷されるはずです。次に、apps.ioで試してみてください... – CPak