2017-06-14 5 views
1

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) 
+0

Rコードを使用してデータをアップロードしましたか? 'app.R'とあなたのデータをshinyapps.ioにアップロードするために使用したコマンドを表示できますか?ローカルで動作する場合は、shinyapps.ioのデータが失われていることが最も簡単な説明です。 – CPak

+0

rstudioの公開ボタンを使用して私のコード(自分の投稿にあるもの)をアップロードしました。データ(茶)はファクトミナーパッケージに含まれています。チェックボックスは、このデータから変数をインポートします。プロットは表示されず、Webページに表示されます。だから私はそれがデータの問題ではないと思う。 – MikolajM

+0

apps.ioでshinyが実行されるたびに、Rセッションでapps.ioを実行する必要があります。 R光沢のあるサーバーのR環境に「FactoMineR」がありますか?あなたの 'ui'と' output $ packages < - renderText({。packages()}) ''にあなたの 'server'に' textOutput( "packages") 'を追加してください。ローカルで試してみると、自分の環境にロードされているパッケージが印刷されるはずです。次に、apps.ioで試してみてください... – CPak

答えて

0

EDIT:ここmca_locally

は、アプリへのリンクがありますが、明らかにプロットを見ることができ、しかし

オリジナル
あなたのコードを実行したときにあなたの輝くアプリにプロットが表示されませんでした。

は、いくつかの掘削後、私の推測では唯一のものです:

あなたはFactoMineRパッケージに付属している機能の多くを使用します。たとえば、コードブロックoutput$plot1にはMCAという関数を使用します。 Rコマンドラインに「MCA」と入力すると、その機能が表示されます。 MCAは多くのものを行い、最終的にはplot.MCAを呼び出しています。 Rコマンドラインにplot.MCAと入力します。 plot.MCAにはplotコマンドが多く、MCAに電話をかけたときにすべてのプロットが実行されていることが分かります。あなたの問題は、機能plot.MCAplotがグラフィックデバイスに送信され、これらのプロットが保存されないことです。すなわち、parent環境にはreturn()ではありません。 これは推測だけです。

+0

私は自分の投稿にアプリのスクリーンショットを追加しました。私はreturn()関数でそれを動作させようとします – MikolajM

+0

申し訳ありませんが、私は考えていません...あなたのコードを実行したときに私はこれらのプロットを見ませんでした。私はプロットを見ることができることを示すために私の答えを更新しますが、できません。 – CPak

関連する問題