如果Shiny无法读取文件,我该怎么办?

时间:2019-08-21 19:13:03

标签: r shiny shiny-server

我的Shiny应用程序可以在本地计算机上运行,​​但是当我将其上传到Shinyapps.io服务器时,出现一条错误消息:

  

gzfile(file,“ rb”)中的警告:无法打开压缩文件   './data/treemap_master.rds',可能的原因是'没有此类文件或   目录'值错误[3L]:无法打开连接   调用:本地... tryCatch-> tryCatchList-> tryCatchOne->    执行停止

您可以在以下位置找到完整的github存储库:https://github.com/ethantenison/UWATX_Shiny_App

该应用程序应该被上传到Shinyapps linux服务器。我确保所有文件都使用相对路径,app.R文件位于包含我所有文件的目录中,并且我已经更新了我的所有软件包,包括R本身。

library(devtools)
library(shinydashboard)
library(shiny)
library(V8)
library(shinyjs)
library(rintrojs)
library(highcharter)
library(RColorBrewer)
library(htmlwidgets)
library(dplyr)
library(stringr)
library(magrittr)
library(viridis)
library(viridisLite)
library(readr)
library(tidyr)
library(leaflet)
library(treemap)
library(leaflet.extras)
library(sf)

# ------------------------------- #
# ------------------------------- #
# ------------------------------- #
# ------------SECTION:----------- #
# ----Reference Data & Styles---- #
# ------------------------------- #
# ------------------------------- #
# ------------------------------- #

# IMPORT MAP STYLES
blank <- "https://api.mapbox.com/styles/v1/mrw03b/cjjd6srrl7ot42so3cbjxn6ot/tiles/256/{z}/{x}/{y}?access_token=pk.eyJ1IjoibXJ3MDNiIiwiYSI6IlYwb2FiOWcifQ.RWUm2a87fEC9XrDxzvZKKg"
northstar <- "https://api.mapbox.com/styles/v1/mrw03b/cj48wz0xh15td2st5hcmeqmsv/tiles/256/{z}/{x}/{y}?access_token=pk.eyJ1IjoibXJ3MDNiIiwiYSI6IlYwb2FiOWcifQ.RWUm2a87fEC9XrDxzvZKKg"
map_attr <- "© <a href='https://www.mapbox.com/map-feedback/'>Mapbox</a> | Map © <a href='http://www.unitedwayaustin.org/our-work/2gen/'>United Way of Greater Austin</a>"

full_zips_list <- "78705|78617|78641|78645|78652|78653|78660|78701|78702|78703|78704|78719|78721|78722|78723|78724|78725|78727|78728|78730|78731|78732|78733|78734|78735|78736|78738|78739|78741|78742|78743|78744|78745|78746|78747|78748|78749|78750|78751|78752|78753|78754|78756|78757|78758|78759|78654|78610|78621|78615|78669|78737|78620|78726"

filter_out <- "78712|78743"

treemap_master <- read_rds('./data/treemap_master.rds') %>%
  ungroup() %>%
  mutate(age = as.character(age))

#TREEMAP DATA - ZIP & NEEDS
needs_zip_treemap <- read_rds('./data/needs_zip_treemap.rds') %>%
  ungroup() %>% 
  janitor::clean_names() %>%
  mutate(day = as.character("01"),
         month = as.character("01")) %>% 
  unite(date, c("year", "month", "day"), sep = "-") %>% 
  mutate(date = as.Date(date, "%Y-%m-%d")) %>% 
  rename(year = date)

travis_dl <- read_rds('./data/data_4_download.rds')

travis <- read_rds('./data/data_4_analysis.rds') %>%
  filter(!str_detect(zipcode, filter_out))  %>% 
  group_by(Year, measure) %>% 
  mutate(rank = dense_rank(desc(value))) %>% 
  ungroup()

travis_summ <- read_rds('./data/summ211.rds')

travis_county_sf <- read_rds('./data/traviscounty_boundary.rds')

该应用应该看起来像这样:https://uwatx.shinyapps.io/211Explorer/

您可以在此处找到完整的错误消息: https://uwatx.shinyapps.io/UWATX_Shiny_App/

2 个答案:

答案 0 :(得分:3)

我发现了问题! Linux仅读取小写的文件扩展名。最初保存对象时,我使用扩展名.RDS。即使app.R文件使用.rds调用对象,也没关系。现在可以完美运行。

答案 1 :(得分:1)

RStudio Shiny lesson 5- app.R出现的目录将成为Shiny应用程序的工作目录”。

因此,您还需要确保所有数据文件都位于带有app.R的文件夹的相同或子文件夹中。基本上-

project_dir
    |
     - app.R
    |
     - data
         |
          - treemap_master.rds

# for above structure use 
read_rds('data/treemap_master.rds') 

根据您的帖子,“我确保所有文件都使用相对路径,app.R文件位于包含我所有文件的目录中” 错误的。