在R Shiny中为多个输出使用相同的声明变量?

时间:2017-08-02 14:06:39

标签: r shiny

所以我有两个文本输出,我在其中一个输出中声明了一个变量,我想在另一个输出中使用相同的变量,但是我在第一个输出中声明的变量不能在第二个输出中使用因此我必须在两个输出中重新声明相同的变量,导致多次声明相同事物的混乱代码。这是我正在谈论的一个例子,这是我的server.R文件......

output$textoutput1 <- renderText({
x <- 1 + (1 * 0.25)
paste("X is equal to ", x )
})

output$textoutput2 <- renderText({
x <- 1 + (1 * 0.25)
paste("X times 2 is ", x*2)
})

看看我如何在两个输出中都有声明x?有没有办法可以在Server文件中声明一次所有变量,并在所有输出中使用它们而不必重新声明它们?

1 个答案:

答案 0 :(得分:1)

就像在函数中指定变量一样,x只会存在于输出调用中。

也许是这些方面的事情:

x <- reactive({1 + (1 * 0.25)})

output$textoutput1 <- renderText({
paste("X is equal to ", x() )
})

output$textoutput2 <- renderText({
paste("X times 2 is ", x()*2)
})

x是否真的是静态的:

x <- 1 + (1 * 0.25)

output$textoutput1 <- renderText({
paste("X is equal to ", x )
})

output$textoutput2 <- renderText({
paste("X times 2 is ", x*2)
})