나는 poisson 분포에서 샘플링하는 Shiny 앱을 작성했습니다. 필자는 데이터의 플롯이나 요약을 출력 할 때마다 함수를 다시 작성했습니다. 차라리 함수를 한 번 사용한 다음 모든 플롯 및 요약에 함수가 호출 된 단일 시간을 참조하게하십시오. 그렇지 않으면 출력간에 결과가 동일하지 않습니다. 함수를 한 번 호출하고 결과를 ggplot에서 사용할 변수로 저장하려고하면 ggplot이 반응적인 데이터를 사용할 수없고 데이터 프레임으로 변환 할 수 없다는 오류가 발생합니다. 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
도 참조하십시오 [이 답변] (0120) 15305108 – SymbolixAU