如何获取对象的反应值并将其传递给 shiny R 中的另一个函数
how do I get reactive value of an object and pass it to another function in shiny R
如何在 plot1 中使用反应值并在 plot2 中使用 X 的对象。换句话说,我想获取 x 的值并将其传递给 plot1 之外的另一个函数。
Server.R中的代码如下:
output$plot1<-renderPlot({
x<-reactiveValue(o="hello")
)}
outpu$plot2<-renderplot({
print(input$x$o)
)}
当我 运行 它在 RStudio 控制台中没有显示任何内容。
在服务器中定义 renderPlot
之外的反应值。此外,它不是 input
的一部分,因此简称为 x$o
.
library(shiny)
shinyApp(
shinyUI(
fluidPage(
wellPanel(
checkboxInput('p1', 'Trigger plot1'),
checkboxInput('p2', 'Trigger plot2')
),
plotOutput('plot2'),
plotOutput('plot1')
)
),
shinyServer(function(input, output){
x <- reactiveValues(o = 'havent done anything yet', color=1)
output$plot1 <- renderPlot({
## Add dependency on 'p1'
if (input$p1)
x$o <- 'did something'
})
output$plot2<-renderPlot({
input$p2
print(x$o) # it is not in 'input'
## Change text color when plot2 is triggered
x$color <- isolate((x$color + 1)%%length(palette()) + 1)
plot(1, type="n")
text(1, label=x$o, col=x$color)
})
})
)
如何在 plot1 中使用反应值并在 plot2 中使用 X 的对象。换句话说,我想获取 x 的值并将其传递给 plot1 之外的另一个函数。 Server.R中的代码如下:
output$plot1<-renderPlot({
x<-reactiveValue(o="hello")
)}
outpu$plot2<-renderplot({
print(input$x$o)
)}
当我 运行 它在 RStudio 控制台中没有显示任何内容。
在服务器中定义 renderPlot
之外的反应值。此外,它不是 input
的一部分,因此简称为 x$o
.
library(shiny)
shinyApp(
shinyUI(
fluidPage(
wellPanel(
checkboxInput('p1', 'Trigger plot1'),
checkboxInput('p2', 'Trigger plot2')
),
plotOutput('plot2'),
plotOutput('plot1')
)
),
shinyServer(function(input, output){
x <- reactiveValues(o = 'havent done anything yet', color=1)
output$plot1 <- renderPlot({
## Add dependency on 'p1'
if (input$p1)
x$o <- 'did something'
})
output$plot2<-renderPlot({
input$p2
print(x$o) # it is not in 'input'
## Change text color when plot2 is triggered
x$color <- isolate((x$color + 1)%%length(palette()) + 1)
plot(1, type="n")
text(1, label=x$o, col=x$color)
})
})
)