From 817126bef5c91ef3bc69f8f5d4d1a3483b61531d Mon Sep 17 00:00:00 2001 From: syounkin Date: Tue, 29 Oct 2024 10:39:05 -0500 Subject: [PATCH] Run Markdown Script with make Created a Makefile to be used to run R markdown scripts. See README for more info. Also created R and html subdirectories. The repo should contain the html subdirectory but not the files in it. --- .gitignore | 15 ++++++- Makefile | 15 +++++++ route_analysis.R => R/route_analysis.Rmd | 43 ++++++++++++++++--- .../route_analysis.Rproj | 0 html/.gitignore | 4 ++ 5 files changed, 68 insertions(+), 9 deletions(-) create mode 100644 Makefile rename route_analysis.R => R/route_analysis.Rmd (91%) rename route_analysis.Rproj => R/route_analysis.Rproj (100%) create mode 100644 html/.gitignore diff --git a/.gitignore b/.gitignore index 599f426..b349772 100644 --- a/.gitignore +++ b/.gitignore @@ -1,8 +1,19 @@ .Rproj* - data/addresses/* api_keys/* figures/* - .Rhistory .Rproj.user +*.md +.DS_Store +!README.md +.Rhistory +*\.\#* +data +!data/ +.RData +data-bkup/ +data-bkup +*.R +*.bak +archive/ diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..70d7bb1 --- /dev/null +++ b/Makefile @@ -0,0 +1,15 @@ +route_analysis: R/route_analysis.Rmd + R -e 'library("rmarkdown"); old_path <- Sys.getenv("PATH"); Sys.setenv(PATH = paste(old_path, "/usr/local/bin", sep = ":")); rmarkdown::render(knit_root_dir = "~/route_analysis/", output_dir = "~/route_analysis/html", input = "./R/route_analysis.Rmd", output_file = "./html/route_analysis.html")' + +clean: clean-data clean-figure clean-script + +clean-data: + rm -vf ./R/data/*.rds + +clean-script: + rm -rvf ./*.md + +clean-figure: + rm -rvf ./figure/ + +.PHONY: data diff --git a/route_analysis.R b/R/route_analysis.Rmd similarity index 91% rename from route_analysis.R rename to R/route_analysis.Rmd index 24ad135..dfe65bc 100644 --- a/route_analysis.R +++ b/R/route_analysis.Rmd @@ -1,3 +1,17 @@ +--- +title: "Route Analysis" +output: + html_document: + toc: true + toc_depth: 5 + toc_float: + collapsed: false + smooth_scroll: true +--- + +```{r libs, eval = TRUE, echo = TRUE, results = "show", warning = FALSE, error = TRUE, message = FALSE} +date() +rm(list=ls()) library(tidyverse) library(ggmap) library(sf) @@ -5,8 +19,13 @@ library(osrm) library(smoothr) library(magick) library(ggnewscale) +fig.height <- 6 +set.seed(1) +``` +# Main R script +```{r Rscript, eval = FALSE, echo = TRUE, results = "show", warning = FALSE, error = FALSE, message = FALSE} ## school focus school_focus <- data.frame(name = c("East High School"), NCES_CODE = c("550852000925")) @@ -17,7 +36,7 @@ walk_boundary_m <- 1.5 * 1609 WI_schools <- st_read(dsn = "data/Schools/WI_schools.gpkg") ## load addresses -addresses <- read_csv(file="data/addresses/Addresses_Students_EastHS_2024_GeocodeResults.csv") %>% +addresses <- read_csv(file="data/addresses/Addresses_Students_EastHS_2024_GeocodeResults.csv") %>% filter(lat > 0) %>% st_as_sf(coords=c("lon","lat"), crs=4326) # remember x=lon and y=lat @@ -71,9 +90,9 @@ school_symbol <- image_read_svg(path = "other/school_FILL0_wght400_GRAD0_opsz24. bbox <- st_bbox(st_transform(st_buffer(addresses_near, dist = 500), crs = 4326)) -bbox <- c(left = as.double(bbox[1]), - bottom = as.double(bbox[2]), - right = as.double(bbox[3]), +bbox <- c(left = as.double(bbox[1]), + bottom = as.double(bbox[2]), + right = as.double(bbox[3]), top = as.double(bbox[4])) #get basemap @@ -118,7 +137,7 @@ ggmap(basemap) + size = 2) ggsave(file = paste0("figures/", - school_focus %>% pull(name), + school_focus %>% pull(name), " Routes.pdf"), title = paste0(school_focus %>% pull(name), " Walking Routes"), device = pdf, @@ -165,7 +184,7 @@ ggmap(basemap) + label.size = 0.04, size = 2) ggsave(file = paste0("figures/", - school_focus %>% pull(name), + school_focus %>% pull(name), " Routes - Traffic Stress.pdf"), title = paste0(school_focus %>% pull(name), " Walking Routes - Traffic Stress"), device = pdf, @@ -209,7 +228,7 @@ ggmap(basemap) + label.size = 0.04, size = 2) ggsave(file = paste0("figures/", - school_focus %>% pull(name), + school_focus %>% pull(name), " Addresses.pdf"), title = paste0(school_focus %>% pull(name), " Addresses"), device = pdf, @@ -217,3 +236,13 @@ ggsave(file = paste0("figures/", width = 11, units = "in", create.dir = TRUE) + + +``` + +# Appendix + +```{r chunklast, eval = TRUE, echo = TRUE, results = "show", warning = TRUE, error = TRUE, message = TRUE} +date() +sessionInfo() +``` diff --git a/route_analysis.Rproj b/R/route_analysis.Rproj similarity index 100% rename from route_analysis.Rproj rename to R/route_analysis.Rproj diff --git a/html/.gitignore b/html/.gitignore new file mode 100644 index 0000000..5e7d273 --- /dev/null +++ b/html/.gitignore @@ -0,0 +1,4 @@ +# Ignore everything in this directory +* +# Except this file +!.gitignore