私はポアソン分布からサンプリングしているShinyアプリを書いています。私は、データのプロットや要約を出力するたびに関数を書き直しました。私はむしろ関数を一度しか使用せずに、すべてのプロットとサマリーを関数が呼び出された1回だけ参照するようにしてください。そうでない場合、結果は出力全体で同一ではありません。関数を一度呼び出すと、ggplotで使用する変数として結果を格納しようとしたとき、ggplotが反応的なデータを使用できないというエラーが発生し、データフレームに変換することができませんでした。Shinyアプリで同じ手順を何回も繰り返さないようにする方法
私が試したのバリエーション:ggplot入力を使用することができなかったとして、彼らは、動作しませんでしたしかし
mydata <- reactive({
x <- input$x
y <- input$y
z <- input$z
Muts <- as.data.frame(rpois(100,(x*y*z)))
Muts
})
を。私は反応機能を正しく使用していないと思う。コードの冗長性を減らし、プロットとサマリーがすべて同じ単一の基礎データを使用していることを確認するための助けがあれば、大歓迎です。前もって感謝します。
私の現在のコード:
server.R
library(shiny)
library(ggplot2)
# Define server logic required to draw a histogram
function(input, output) {
output$distPlot <- renderPlot({
x <- input$x
y <- input$y
z <- input$z
Muts <- as.data.frame(rpois(100,(x*y*z)))
# draw the density plot
ggplot(Muts, aes(Muts)) + geom_density()
})
output$distPlot2 <-renderPlot({
x <- input$x
y <- input$y
z <- input$z
Muts <- as.data.frame(rpois(100,(x*y*z)))
Muts <- as.data.frame(Muts)
ggplot(Muts, aes(Muts)) + geom_histogram()
})
output$summary <- renderPrint({
x <- input$x
y <- input$y
z <- input$z
Muts <- as.data.frame(rpois(100,(x*y*z)))
summary(Muts)
})
}
あなたの 'ggplot'呼び出しで反応式を呼び出す必要があります。 'ggplot(myData()、aes(...))+ ...' – SymbolixAU
も参照してください[この回答](http://stackoverflow.com/a/40336002/5977215) – SymbolixAU