首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >R shiny下载选项

R shiny下载选项
EN

Stack Overflow用户
提问于 2019-05-09 19:08:27
回答 1查看 257关注 0票数 0

我正在处理下载用户请求的数据的问题。我想我不能理解(我是R新手,也很出色) downloadHandler的行为。我可以毫不费力地绘制选定的文件(已经作为光栅文件BFT_PRYFT_PRFAI存储在R中),但在尝试下载它时,我总是得到相同的downloadData.txt和错误:服务器问题。如果能帮上忙,我将非常感谢。

代码语言:javascript
运行
复制
server <- function(input, output) {

  output$range <- renderText({paste("Forecast from", timestart, "to", timeend)})

  # Reactive value for selected dataset ----

  output$model <- renderPlot({

    mapInput <- reactive({
    switch(input$model,
           "Bluefin tuna" = BFT_PR,
           "Yellowfin tuna" = YFT_PR,
           "Fishing Aptitude Index"=FAI)})   

    palette <-colorRampPalette(c("blue", "#007FFF", "cyan",
                                      "#7FFF7F", "yellow", "#FF7F00", "red" ))(100)

    spplot(mapInput(), col.regions=palette, sp.layout= list(landmask_m, landmask_u, FZ),scales=list(draw = TRUE))

  })



  # Download map as geotiff  ----

  output$downloadData <- downloadHandler(

    filename = function() {paste0(input$model, ".tif")},


    content = function(file) {writeRaster(mapInput(), file)}

  )
}
EN

回答 1

Stack Overflow用户

发布于 2019-05-28 06:35:02

上个月我一直在旅行,很抱歉这么晚才回复。下面是我的代码示例,其中包含一些虚拟数据

代码语言:javascript
运行
复制
r1 <- raster(matrix(sample(1:100, 100),35,52), xmn= -97.75, xmx=-84.75, ymn=17.75, ymx=26.5)
r2 <- raster(matrix(sample(100:200, 100),35,52), xmn= -97.75, xmx=-84.75, ymn=17.75, ymx=26.5)
r3 <- raster(matrix(sample(200:300,100),35,52), xmn= -97.75, xmx=-84.75, ymn=17.75, ymx=26.5)

library(shiny)
library(raster)
library(rgdal)
library (sp)

ui <- fluidPage(

App title ----
titlePanel((p("TUNAGOM DST", style = "color:#3474A7"))),

sidebarLayout(

# Sidebar panel for inputs ----

sidebarPanel(

 helpText("Weekly forecasts.
       Bluefin and Yellowfin tuna catch per unit effort (fish/1000 hooks).
       Fishing Aptitude Index "),

# Distribution maps: Species distribution, Fishing aptitude index. Display menu

# Input: select forecast dataset 

  selectInput("model", "Select Forecast:",
          choices = c("r1", "r2", "r3")),

# Download data button

  downloadButton("downloadData", "Download data")


  ),

 # Main panel for displaying outputs ----
mainPanel(

  # Temporal range (text output)

 textOutput("range"),

  # Output: maps

 plotOutput("model"))
 )
 )

 server <- function(input, output) {

 output$range <- renderText({paste("Forecast from", timestart, "to", timeend)})

 Reactive value for selected dataset ----
 output$model <- renderPlot({

 mapInput <- reactive({
  switch(input$model,
     "r1" = r1,
     "r2" = r2,
     "r3"=r3)})   

 palette <-colorRampPalette(c("blue", "#007FFF", "cyan",
                         "#7FFF7F", "yellow", "#FF7F00", "red" ))(100)

 spplot(mapInput(), col.regions=palette, scales=list(draw = TRUE))
 })

 output$downloadData <- downloadHandler(

 filename = function() {paste0(input$model, ".tif")},


 content = function(file) {writeRaster(mapInput(), file, format="GTiff", 
 overwrite=TRUE)}
 )
 }

 runApp(shinyApp(ui, server), launch.browser = TRUE)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56058055

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档