0

我在一个闪亮的应用程序的 renderPlot 选项中有代码,我希望将其拉入一个单独的反应上下文。但是,我无法弄清楚如何执行此操作并且仍然能够参考该表。

我想要的是能够将第一部分拉到它自己的反应上下文中,然后在 renderPlot 中引用它,但考虑到矩阵的数据源取决于其中一个输入,我不确定如何做到这一点. 提前致谢!

当前代码:

output$distPlot <- renderPlot({
if (input$predictor == "bin") {matrix(0,ncol=1, nrow=input$n) -> predictor; predictor[1:input$pos] <- 1}
if (input$predictor == "norm") {predictor <- matrix(rnorm(input$n,input$pred_mean, input$pred_sd),ncol=1,nrow=input$n)}
if (input$predictor == "user") {inFile <- input$predictor2; predictor <- as.matrix(read.delim2(inFile$datapath, header=F), ncol=1)}
....
data <- sim(input$n,input$coverage[1], input$coverage[2], predictor)
....
})

所需代码(概念)

predictor <- reactive({
if (input$predictor == "bin") {matrix(0,ncol=1, nrow=input$n) -> predictor; predictor[1:input$pos] <- 1}
if (input$predictor == "norm") {predictor <- matrix(rnorm(input$n,input$pred_mean, input$pred_sd),ncol=1,nrow=input$n)}
if (input$predictor == "user") {inFile <- input$predictor2; predictor <- as.matrix(read.delim2(inFile$datapath, header=F), ncol=1)}
}) 

output$distPlot <- renderPlot({
data <- sim(input$n,input$coverage[1], input$coverage[2], predictor)
....
})
4

0 回答 0