R语言中的独立计算与绘图
我想构建一个闪亮的应用程序,运行模拟,然后显示3个结果图(我已经用R语言中的独立计算与绘图,r,shiny,R,Shiny,我想构建一个闪亮的应用程序,运行模拟,然后显示3个结果图(我已经用tabsetPanel()设置了它们)。代码需要几秒钟才能运行,所以我做了一个submitButton()。现在,由于代码需要更长的时间,我希望它只运行一次,然后显示3个绘图。 如何使用输入值运行代码,提取5个结果向量,然后绘制它们 当前Shining给出了一个错误,因为当代码不在output$plot中时,它实际上是分离的。要使绘图反应,必须将reactiveValues()引用为v$v1,v$v2,。。。 它被分配到v,因此您
tabsetPanel()
设置了它们)。代码需要几秒钟才能运行,所以我做了一个submitButton()
。现在,由于代码需要更长的时间,我希望它只运行一次,然后显示3个绘图。
如何使用输入值运行代码,提取5个结果向量,然后绘制它们
当前Shining给出了一个错误,因为当代码不在
output$plot中时,它实际上是分离的。要使绘图反应,必须将reactiveValues()
引用为v$v1
,v$v2
,。。。
它被分配到v
,因此您也必须以这种方式引用它。实际上,您可以将reactiveValues()
与data.frame()
或更类似于反应列表的列表进行比较。
列表v太棒了!实际上,我的错误是,我试图从输入生成初始反应值<代码>v
ui <- fluidPage(
titlePanel("My Simulation"),
submitButton(text="RUN SIMULATION")
mainPanel(
tabsetPanel(
tabPanel("Plot 1", plotOutput("p1")),
tabPanel("Plot 2", plotOutput("p2")),
tabPanel("Plot 3", plotOutput("p3"))
)
)
)
server <- function(input, output) {
v<-reactiveValues(v1=0,v2=0,v3,v4=0,v5=0)
observeEvent(input,{ myFunction()})
output$p1<-renderPlot{
plot(v1,v2)
}
output$p2<-renderPlot{
plot(v1,v3)
}
output$p3<-renderPlot{
plot(v1,v4)
lines(v1,v4)
}
shinyApp(ui, server)
library(shiny)
ui <- fluidPage(
titlePanel("My Simulation"),
actionButton(inputId = "simulate", label = "simulate"),
mainPanel(
tabsetPanel(
tabPanel("Plot 1", plotOutput("p1")),
tabPanel("Plot 2", plotOutput("p2")),
tabPanel("Plot 3", plotOutput("p3"))
)
)
)
server <- function(input, output) {
v <- reactiveValues(v1 = 0, v2 = 0, v3 = 0, v4 = 0, v5 = 0)
observeEvent(input$simulate,{
v$v1 <- 1
v$v2 <- 2
v$v3 <- 3
v$v4 <- 4
})
output$p1<-renderPlot({
plot(v$v1, v$v2)
})
output$p2<-renderPlot({
plot(v$v1, v$v3)
})
output$p3<-renderPlot({
plot(v$v1, v$v4)
lines(v$v1, v$v4)
})
}
shinyApp(ui, server)