我只是想知道如何在server.R中只运行一次read.csv?在下面的代码中,每次我更改ui.R中的输入时,代码运行read.csv需要几秒钟,因此我期待在开始时只加载一次文件然后使用相同的文件在ui.R中输入的数据发生变化。谢谢 这是我的代码:
ui.R
shinyUI(fluidPage(
headerPanel("myApp"),
fluidRow( sidebarPanel(
selectInput("myOptions", "myOptions:",
list("1" = "1",
"2" = "2",
"3" = "3"))
)),
hr(),
plotlyOutput("prescription"),
hr()
))
server.R
library(utils)
library(plotly)
library(plyr)
shinyServer(function(input, output) {
diseases<-eventReactive({
diseases=read.csv("diseases_94.csv",header=F)
})
output$prescription <- renderPlotly( {
myDiseases=diseases
freq=count(myDiseases,"DISEASES")
p<-plot_ly(freq, labels = ~DISEASES, values = ~freq, type = 'pie',
textposition = 'inside',
textinfo = 'label+percent',
insidetextfont = list(color = '#FFFFFF'),
hoverinfo = 'text',
text = ~paste(DISEASES),
marker = list(line = list(color = '#FFFFFF', width = 1)))
p
})
})
答案 0 :(得分:0)
使用shinyServer
之外的变量。这应该只在开头加载文件。