Я новичок в Shiny и все еще думаю о синтаксисе.Я создаю приложение, в котором я хотел бы использовать значения ползунка диапазона, чтобы обрезать растр.Однако я не могу понять, как интегрировать его вне функции рендеринга.
Например, если у меня есть простой растр 10x10 со значениями от 1: 100, я бы хотел оставить толькоДиапазон в слайдере.Делая это вручную с установленными числами, скажем, 20-40, я бы запустил что-то вроде:
r<-raster(ncol = 10, nrow = 10)
values(r) <- 1:ncell(r)
plot(r)
r[r <= 20] <- NA
r[r >=40] <- NA
plot(r)
Но я не могу понять, как интегрировать переменные ползунка в этот тип установки.Я добавил renderText, чтобы убедиться, что я правильно ссылаюсь на значения, но не могу понять, как использовать эти значения вне функции рендеринга.
ui <- fluidPage(
sliderInput("range","range:", min = 1, max = 100, value = c(10,50)),
plotOutput("original"),
textOutput("range"),
plotOutput("cropped")
)
server<- function(input, output){
r<-raster(ncol = 10, nrow = 10)
values(r) <- 1:ncell(r)
r2<-r
reactive({r2[r2 <= input$range[1]] <- NA})
reactive({r2[r2 >= input$range[2]] <- NA})
output$original<- renderPlot(plot(r))
output$cropped<- renderPlot(plot(r2))
range <- reactive({cbind(input$range[1], input$range[2])})
output$range<- renderText({range()})
}
shinyApp(ui = ui, server = server)