我想用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”创建为全局变量是个好主意吗?有提示吗?
答案 0 :(得分:2)
以下是使用Enter sentence: Cherries are red fruit
[]
C
h
e
r
r
i
e
s
的示例,该示例允许您在单个位置更改数据。但是,这与全局加载data.frame没有什么不同,除非/直到您向定义reactive
的函数添加响应部分(例如,由于输入或重新读取磁盘以响应按钮单击而发生的更改)。
d()