将参数传递给R闪亮的renderPlot

时间:2016-10-03 14:59:30

标签: r plot shiny

我想用R表示数据框中包含的变量。因此我会有几个绘图,即几个renderPlot函数,但我只想创建该数据框一次。因此,我寻找一种方法来做像

这样的事情
library(shiny)

server <- shinyServer(function(input, output, session) {

## Creating and plotting the dataframe

## Calling renderPlot
output$plotxy <- renderPlot({
x = c(1,2,3)
y = c(4,5,6)
z = c(7,8,9)
d = data.frame( x, y, z )
plot( d$x, d$y )
})

output$plotxz <- renderPlot({
x = c(1,2,3)
y = c(4,5,6)
z = c(7,8,9)
d = data.frame( x, y, z )
plot( d$x, d$z )
})

output$plotzy <- renderPlot({
x = c(1,2,3)
y = c(4,5,6)
z = c(7,8,9)
d = data.frame( x, y, z )
plot( d$z, d$y )
})

})




ui <- shinyUI(
fluidPage(
plotOutput("plotxy"),
plotOutput("plotxz"),
plotOutput("plotzy")
)
)

shinyApp(ui = ui, server = server)

将数据框“d”创建为全局变量是个好主意吗?有提示吗?

1 个答案:

答案 0 :(得分:2)

以下是使用Enter sentence: Cherries are red fruit [] C h e r r i e s 的示例,该示例允许您在单个位置更改数据。但是,这与全局加载data.frame没有什么不同,除非/直到您向定义reactive的函数添加响应部分(例如,由于输入或重新读取磁盘以响应按钮单击而发生的更改)。

d()