I would like to call a certain variable within a reactive expression. Something like this:
server.R
library(raster)
shinyServer(function(input, output) {
data <- reactive({
inFile <- input$test #Some uploaded ASCII file
asc <- raster(inFile$datapath) #Reads in the ASCII as raster layer
#Some calculations with 'asc':
asc_new1 <- 1/asc
asc_new2 <- asc * 100
})
output$Plot <- renderPlot({
inFile <- input$test
if (is.null(inFile)
 return (plot(data()$asc_new1)) #here I want to call asc_new1
plot(data()$asc_new2)) #here I want to call asc_new2
})
})
Unfortunately I could't find out how to call asc_new1 and asc_new2 within data(). This one doesn't work:
data()$asc_new1
                Reactives are just like other functions in R. You can't do this:
f <- function() {
  x <- 1
  y <- 2
}
f()$x
So what you're within output$Plot() won't work either. You can do what you want by returning a list from data().
data <- reactive({
  inFile <- input$test 
  asc <- raster(inFile$datapath) 
  list(asc_new1 = 1/asc, asc_new2 = asc * 100)
}) 
Now you can do:
data()$asc_new1
                        If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With