В вашей функции eventReactive
вы можете изменить объект и добавить или удалить столбцы и т. Д. c .. Вы можете сохранить его в формате xts
или преобразовать его, например, в таблицу данных. Ниже приведен пример добавления 7-дневного скользящего среднего цены закрытия к объекту xts
:
invisible(lapply(c("quantmod", "shiny"), require, character.only=TRUE))
ui <- fluidPage(
textInput("Stock","Input Stock"),
dateRangeInput("Date", "Input Date Range"),
actionButton("GO","GO"),
tableOutput("table")
)
server <- function(input, output, session){
data <- eventReactive(input$GO,{
req(input$Stock)
dt <- getSymbols(input$Stock, src="yahoo",
from=input$Date[1], to=input$Date[2],
auto.assign=FALSE)
cn <- paste(input$Stock, "7d_Avg", sep=".")
dt$roll <- rollapply(dt[,4], 7, mean)
colnames(dt)[colnames(dt) == "roll"] <- cn
return(dt)
})
output$table <- renderTable({
data()
})
}
shinyApp(ui, server)