## ----echo=FALSE, message=FALSE, warning=FALSE--------------------------------- # Ensure the temporary library from R CMD check is visible (esp. on Windows) libdir <- Sys.getenv("R_LIBS") if (nzchar(libdir)) { parts <- strsplit(libdir, .Platform$path.sep, fixed = TRUE)[[1]] .libPaths(unique(c(parts, .libPaths()))) } # now load your package suppressPackageStartupMessages(library(ecotourism)) ## ----echo=TRUE, eval=TRUE, message=FALSE, warning=FALSE----------------------- library(dplyr) library(ecotourism) data("orchids") orchids |> glimpse() ## ----echo=TRUE, fig.width=6, fig.height=4, eval=TRUE-------------------------- library(ggplot2) library(ggthemes) orchids |> ggplot() + geom_sf(data = oz_lga) + geom_point( aes(x = obs_lon, y = obs_lat), color = "red", alpha = 0.5, size = 0.3) + theme_map() ## ----echo=TRUE, fig.width=6, fig.height=4, eval=TRUE-------------------------- week_order <- c("Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday") orchids |> ggplot(aes(x = factor(weekday, levels = week_order))) + geom_bar() + labs(x = "Weekday", y = "Number of Records") + theme_minimal() ## ----echo=TRUE, fig.width=6, fig.height=4, eval=TRUE, message=FALSE, warning=FALSE---- library(lubridate) orchids |> dplyr::mutate(month = month(month, label = TRUE, abbr = TRUE)) |> ggplot(aes(x = factor(month))) + geom_bar() + labs(x = "Month", y = "Number of Records") + theme_minimal() ## ----echo=TRUE, fig.width=6, fig.height=4, eval=TRUE-------------------------- orchids |> ggplot(aes(x = factor(year))) + geom_bar() + labs(x = "Year", y = "Number of Records") + theme_minimal() ## ----echo=TRUE, eval=TRUE, message=FALSE, warning=FALSE, fig.width=6, fig.height=4---- library(ggbeeswarm) # Prepare orchids occurrence counts per day orchids_daily <- orchids |> group_by(ws_id, date) |> summarise(occurrence = n(), .groups = "drop") # Join with weather data for precipitation orchids_weather <- orchids_daily |> left_join(weather |> select(ws_id, date, prcp), by = c("ws_id", "date")) orchids_weather |> filter(!is.na(prcp)) |> mutate(rain = if_else(prcp > 5, "yes", "no")) |> ggplot(aes(x = rain, y = occurrence)) + geom_quasirandom(alpha = 0.6) + ylim(c(0, 15)) + labs( title = "Relationship between rainy day and orchids occurrence", x = "Rainy", y = "Number of orchids records" ) + theme_minimal() ## ----echo=TRUE, eval=TRUE, message=FALSE, warning=FALSE, fig.width=6, fig.height=4---- orchids_weather <- orchids_daily |> left_join( weather |> select(ws_id, date, temp, prcp), by = c("ws_id", "date") ) ggplot(orchids_weather, aes(temp, occurrence, color = prcp)) + geom_point(alpha = 0.5) + scale_color_viridis_c() + labs( title = "Orchids occurrence vs temperature, colored by precipitation", x = "Mean daily temperature (°C)", y = "Occurrences", color = "Precipitation (mm)" ) + theme_minimal()