diff --git a/laravel_app/app/Jobs/ProjectDownloadTiffJob.php b/laravel_app/app/Jobs/ProjectDownloadTiffJob.php
index ef9aa6f..5d931f8 100644
--- a/laravel_app/app/Jobs/ProjectDownloadTiffJob.php
+++ b/laravel_app/app/Jobs/ProjectDownloadTiffJob.php
@@ -53,6 +53,7 @@ public function handle(): void
if (!$process->isSuccessful()) {
logger('error', $process->getErrorOutput());
}
+ logger($process->getOutput());
$this->download->setStatusSuccess();
}
diff --git a/r_app/2_CI_data_prep.R b/r_app/2_CI_data_prep.R
index 8c509ca..8ffa998 100644
--- a/r_app/2_CI_data_prep.R
+++ b/r_app/2_CI_data_prep.R
@@ -3,14 +3,453 @@
renv::activate('~/smartCane/r_app')
renv::restore()
+
+
library(here)
library(sf)
library(terra)
library(tidyverse)
library(lubridate)
library(exactextractr)
+#funcion CI_prep package
+
+date_list <- function(weeks_in_the_paste){
+ week <- week(Sys.Date()- weeks(weeks_in_the_paste) )
+ year <- year(Sys.Date()- weeks(weeks_in_the_paste) )
+ days_filter <- Sys.Date() - weeks(weeks_in_the_paste) - days(0:6)
+
+ return(c("week" = week,
+ "year" = year,
+ "days_filter" = list(days_filter)))
+
+}
+
+CI_func <- function(x, drop_layers = FALSE){
+ CI <- x[[4]]/x[[2]]-1
+ add(x) <- CI
+ names(x) <- c("red", "green", "blue","nir", "cloud" ,"CI")
+ if(drop_layers == FALSE){
+ return(x)
+ }else{
+ return(x$CI)
+ }
+}
+
+mask_raster <- function(raster, fields){
+ # x <- rast(filtered_files[1])
+ x <- rast(raster)
+ emtpy_or_full <- global(x, sum)
+
+ if(emtpy_or_full[1,] >= 2000000){
+ names(x) <- c("red", "green", "blue","nir", "cloud")
+ cloud <- x$cloud
+
+ cloud[cloud == 0 ] <- NA
+ x_masked <- mask(x, cloud, inverse = T) %>% crop(.,fields, mask = TRUE )
+ x_masked <- x_masked %>% CI_func()
+
+ message(raster, " masked")
+ return(x_masked)
+ }
+}
+
+date_extract <- function(file_path) {
+ str_extract(file_path, "\\d{4}-\\d{2}-\\d{2}")
+}
+
+extract_rasters_daily <- function(file, field_geojson, quadrants = TRUE, save_dir) {
+ # x <- rast(filtered_files[1])%>% CI_func(drop_layers = TRUE)
+ # date <- date_extract(filtered_files[1])
+ # field_geojson <- sf::st_as_sf(pivot_sf_q)
+
+ field_geojson <- sf::st_as_sf(field_geojson)
+ x <- rast(file[1]) %>% CI_func(drop_layers = TRUE)
+ date <- date_extract(file)
+
+ pivot_stats <- cbind(field_geojson, mean_CI = round(exactextractr::exact_extract(x, field_geojson, fun = "mean"), 2)) %>%
+ st_drop_geometry() %>% rename("{date}" := mean_CI)
+
+ save_suffix <- if (quadrants){"quadrant"} else {"whole_field"}
+
+ save_path <- here(save_dir, paste0("extracted_", date, "_", save_suffix, ".rds"))
+
+ saveRDS(pivot_stats, save_path)
+}
+
+right = function(text, num_char) {
+ substr(text, nchar(text) - (num_char-1), nchar(text))
+}
+
+extract_CI_data <- function(field_names, harvesting_data, field_CI_data, season) {
+ # field_names = "1.2A"
+ # harvesting_data = harvesting_data
+ # field_CI_data = pivot_stats_long
+ # season= 2021
+
+ filtered_harvesting_data <- harvesting_data %>%
+ filter(Year == season, Field %in% field_names)
+
+ filtered_field_CI_data <- field_CI_data %>%
+ filter(Field %in% field_names)
+
+ # CI <- map_df(field_names, ~ {
+ ApproxFun <- approxfun(x = filtered_field_CI_data$Date, y = filtered_field_CI_data$value)
+ Dates <- seq.Date(ymd(min(filtered_field_CI_data$Date)), ymd(max(filtered_field_CI_data$Date)), by = 1)
+ LinearFit <- ApproxFun(Dates)
+
+ CI <- data.frame(Date = Dates, FitData = LinearFit) %>%
+ left_join(., filtered_field_CI_data, by = "Date") %>%
+ filter(Date > filtered_harvesting_data$Season_start & Date < filtered_harvesting_data$Season_end) %>%
+ mutate(DOY = seq(1, n(), 1),
+ model = paste0("Data", season, " : ", field_names),
+ season = season,
+ Field = field_names)
+ # }) #%>%
+ #{if (length(field_names) > 0) message("Done!")}
+
+ return(CI)
+}
+
+load_fields <- function(geojson_path) {
+ field_geojson <- st_read(geojson_path) %>%
+ select(pivot, pivot_quadrant) %>%
+ vect()
+ return(field_geojson)
+}
+
+load_harvest_data <- function(havest_data_path){
+ harvest_data <- readRDS(havest_data_path)
+ return(harvest_data)
+}
+
+load_rasters <- function(raster_path, dates) {
+ raster_files <- list.files(raster_path, full.names = TRUE, pattern = ".tif")
+ filtered_files <- map(dates$days_filter, ~ raster_files[grepl(pattern = .x, x = raster_files)]) %>%
+ compact() %>%
+ flatten_chr()
+
+ return(filtered_files)
+}
+
+mask_and_set_names <- function(filtered_files, fields) {
+ rasters_masked <- map(filtered_files, mask_raster, fields = fields) %>% set_names(filtered_files)
+ rasters_masked[sapply(rasters_masked, is.null)] <- NULL
+ rasters_masked <- setNames(rasters_masked, map_chr(names(rasters_masked), date_extract))
+
+ return(rasters_masked)
+}
+
+calculate_total_pix_area <- function(filtered_files, fields_geojson) {
+ # total_pix_area <- rast(filtered_files[1]) %>%
+ # subset(1) %>%
+ # crop(fields_geojson, mask = TRUE)%>%
+ # global(.data, fun = "notNA")
+ total_pix_area <- rast(filtered_files[1]) %>% subset(1) %>% crop(fields_geojson, mask = TRUE) %>% freq(., usenames = TRUE)
+
+ return(total_pix_area)
+}
+
+cloud_layer_extract <- function(rasters_masked){
+ cloud_layer_rast <- map(rasters_masked, function(spatraster) {
+ spatraster[[5]]
+ }) %>% rast()
+
+ return(cloud_layer_rast)
+}
+
+calculate_cloud_coverage <- function(cloud_layer_rast, total_pix_area) {
+ cloud_perc_list <- freq(cloud_layer_rast, usenames = TRUE) %>%
+ mutate(cloud_perc = (100 -((count/total_pix_area$count)*100)),
+ cloud_thres_5perc = as.integer(cloud_perc < 5),
+ cloud_thres_40perc = as.integer(cloud_perc < 40)) %>%
+ rename(Date = layer) %>% select(-value, -count)
+
+ cloud_index_5perc <- which(cloud_perc_list$cloud_thres_5perc == max(cloud_perc_list$cloud_thres_5perc))
+ cloud_index_40perc <- which(cloud_perc_list$cloud_thres_40perc == max(cloud_perc_list$cloud_thres_40perc))
+
+ return(list(cloud_perc_list = cloud_perc_list, cloud_index_5perc = cloud_index_5perc, cloud_index_40perc = cloud_index_40perc))
+}
+
+process_cloud_coverage <- function(cloud_coverage, rasters_masked) {
+ if (sum(cloud_coverage$cloud_perc_list$cloud_thres_5perc) > 1) {
+ message("More than 1 raster without clouds (<5%), max mosaic made ")
+
+ cloudy_rasters_list <- rasters_masked[cloud_coverage$cloud_index_5perc]
+ rsrc <- sprc(cloudy_rasters_list)
+ x <- mosaic(rsrc)
+ names(x) <- c("red", "green", "blue", "nir", "cloud", "CI")
+
+ } else if (sum(cloud_coverage$cloud_perc_list$cloud_thres_5perc) == 1) {
+ message("Only 1 raster without clouds (<5%)")
+
+ x <- rast(rasters_masked[cloud_coverage$cloud_index_5perc[1]])
+ names(x) <- c("red", "green", "blue", "nir", "cloud", "CI")
+
+ } else if (sum(cloud_coverage$cloud_perc_list$cloud_thres_40perc) > 1) {
+ message("More than 1 image contains clouds, composite made of <40% cloud cover images")
+
+ cloudy_rasters_list <- rasters_masked[cloud_coverage$cloud_index_40perc]
+ rsrc <- sprc(cloudy_rasters_list)
+ x <- mosaic(rsrc)
+ names(x) <- c("red", "green", "blue", "nir", "cloud", "CI")
+
+ } else if (sum(cloud_coverage$cloud_perc_list$cloud_thres_40perc) == 0) {
+ message("No cloud free images available")
+ x <- rast(rasters_masked[1])
+ x[x] <- NA
+ names(x) <- c("red", "green", "blue", "nir", "cloud", "CI")
+ }
+
+ return(x)
+}
+
+extract_rasters_daily_func <- function(daily_vals_dir, filtered_files, fields_geojson) {
+ extracted_files <- walk(filtered_files, extract_rasters_daily, field_geojson = fields_geojson, quadrants = TRUE, daily_vals_dir)
+ return(extracted_files)
+}
+
+CI_load <- function(daily_vals_dir, grouping_variable){
+ extracted_values <- list.files(here(daily_vals_dir), full.names = TRUE)
+
+ field_CI_values <- extracted_values %>%
+ map_dfr(readRDS) %>%
+ group_by(.data[[grouping_variable]]) %>%
+ summarise(across(everything(), ~ first(na.omit(.))))
+ return(field_CI_values)
+}
+
+CI_long <- function(field_CI_values, pivot_long_cols){
+ field_CI_long <- field_CI_values %>%
+ gather("Date", value, -pivot_long_cols) %>%
+ mutate(Date = right(Date, 8),
+ Date = ymd(Date)
+ ) %>%
+ drop_na(c("value","Date")) %>%
+ mutate(value = as.numeric(value))%>%
+ filter_all(all_vars(!is.infinite(.)))%>%
+ rename(Field = pivot_quadrant)
+
+ return(field_CI_long)
+}
+
+process_year_data <- function(year, harvest_data, field_CI_long) {
+ pivots_dates_year <- harvest_data %>% na.omit() %>% filter(Year == year)
+ pivot_select_model_year <- unique(pivots_dates_year$Field)
+
+ data <- map_dfr(pivot_select_model_year, ~ extract_CI_data(.x, harvest_data, field_CI_long, season = year))
+
+ return(data)
+}
+
+
+
+#functions for CI_data_prep
+create_mask_and_crop <- function(file, pivot_sf_q) {
+ # file <- filtered_files[5]
+ message("starting ", file)
+ loaded_raster <- rast(file)
+ names(loaded_raster) <- c("Red", "Green", "Blue", "NIR")
+ # names(CI) <- c("green","nir")
+ message("raster loaded")
+
+ # CI <- CI[[2]] / CI[[1]] - 1
+ CI <- loaded_raster$NIR / loaded_raster$Green - 1
+
+ loaded_raster$CI <- CI
+ # CI <- CI$nir/CI$green-1
+ message("CI calculated")
+ loaded_raster <- terra::crop(loaded_raster, pivot_sf_q, mask = TRUE) #%>% CI_func()
+
+ loaded_raster[loaded_raster == 0] <- NA
+ # names(v_crop) <- c("red", "green", "blue","nir", "cloud" ,"CI")
+ # v_crop$CI <- v_crop$CI - 1
+ new_file <- here(merged_final, paste0(tools::file_path_sans_ext(basename(file)), ".tif"))
+ writeRaster(loaded_raster, new_file, overwrite = TRUE)
+
+ vrt_file <- here(daily_vrt, paste0(tools::file_path_sans_ext(basename(file)), ".vrt"))
+ terra::vrt(new_file, vrt_file, overwrite = TRUE)
+
+ # v_crop <- mask_raster(v, pivot_sf_q)
+ return(loaded_raster)
+}
+
+
+extract_rasters_daily <- function(file, field_geojson, quadrants = TRUE, save_dir) {
+ # x <- rast(filtered_files[1])%>% CI_func(drop_layers = TRUE)
+ # date <- date_extract(filtered_files[1])
+ # field_geojson <- sf::st_as_sf(pivot_sf_q)
+ field_geojson <- sf::st_as_sf(field_geojson)
+ x <- rast(file[1])
+ date <- date_extract(file)
+ pivot_stats <- cbind(field_geojson, mean_CI = round(exactextractr::exact_extract(x$CI, field_geojson, fun = "mean"), 2)) %>%
+ st_drop_geometry() %>% rename("{date}" := mean_CI)
+ save_suffix <- if (quadrants){"quadrant"} else {"whole_field"}
+ save_path <- here(save_dir, paste0("extracted_", date, "_", save_suffix, ".rds"))
+ saveRDS(pivot_stats, save_path)
+}
+
+#functions for rmarkdown file
+
+
+create_RGB_map <- function(pivot_raster, pivot_shape, pivot_spans, show_legend = TRUE, legend_is_portrait = FALSE, week, age, red = TRUE) {
+ r <- if (red) 1 else 4 # Set r based on the value of red
+ title <- if (red) paste0("RGB image of the fields") else paste0("False colour image of the fields")
+
+ tm_shape(pivot_raster, unit = "m") + tm_rgb(r = r, g = 2, b = 3, max.value = 255) +
+ tm_layout(main.title = title,
+ main.title.size = 1) +
+ tm_scale_bar(position = c("right", "top"), text.color = "black") +
+ tm_compass(position = c("right", "top"), text.color = "black") +
+ tm_shape(pivot_shape) + tm_borders(col = "gray") +
+ tm_text("subField", size = 0.6, col = "gray") +
+ tm_shape(pivot_spans) + tm_borders(lwd = 0.5, alpha = 0.5)
+}
+
+create_CI_map <- function(pivot_raster, pivot_shape, pivot_spans, show_legend = F, legend_is_portrait = F, week, age, legend_only = F){
+ tm_shape(pivot_raster, unit = "m")+
+ tm_raster(breaks = CI_breaks, palette = "RdYlGn",legend.is.portrait = legend_is_portrait ,midpoint = NA) +
+ tm_layout(main.title = paste0("Max CI week ", week,"\n", age, " weeks old"),
+ main.title.size = 1, legend.show = show_legend, legend.only = legend_only) +
+ tm_shape(pivot_shape) +
+ tm_borders(lwd = 3) + tm_text("subField", size = 1/2) +
+ tm_shape(pivot_spans) + tm_borders(lwd = 0.5, alpha=0.5) +tmap_options(check.and.fix = TRUE)
+}
+
+create_CI_diff_map <- function(pivot_raster, pivot_shape, pivot_spans, show_legend = F, legend_is_portrait = F, week_1, week_2, age){
+ tm_shape(pivot_raster, unit = "m")+
+ tm_raster(breaks = CI_diff_breaks, palette = "PRGn",legend.is.portrait = legend_is_portrait ,midpoint = 0, title = "CI difference") +
+ tm_layout(main.title = paste0("CI change week ", week_1, "- week ",week_2, "\n", age," weeks old"),
+ main.title.size = 1, legend.show = show_legend) +
+ tm_shape(pivot_shape) +
+ tm_borders(lwd = 3) + tm_text("subField", size = 1/2) +
+ tm_shape(pivot_spans) + tm_borders(lwd = 0.5, alpha=0.5)
+}
+
+ci_plot <- function(pivotName){
+ # pivotName = "MV2B09"
+ # pivotName = "1.1"
+
+ pivotShape <- AllPivots_merged %>% terra::subset(Field %in% pivotName) %>% st_transform(crs(CI))
+ # age <- AllPivots %>% dplyr::filter(Field %in% pivotName) %>% st_drop_geometry() %>% dplyr::select(Age) %>% unique() %>%
+ # mutate(Age = round(Age))
+
+ age <- AllPivots %>%
+ group_by(Field) %>%
+ filter(Season == max(Season, na.rm = TRUE), Field %in% pivotName) %>%
+ dplyr::select(Age)%>% st_drop_geometry() %>% unique()
+
+ AllPivots2 <- AllPivots0 %>% dplyr::filter(Field %in% pivotName)
+
+ singlePivot <- CI %>% crop(., pivotShape) %>% mask(., pivotShape)
+ singlePivot_m1 <- CI_m1 %>% crop(., pivotShape) %>% mask(., pivotShape)
+ singlePivot_m2 <- CI_m2 %>% crop(., pivotShape) %>% mask(., pivotShape)
+ # singlePivot_m3 <- CI_m3 %>% crop(., pivotShape) %>% mask(., pivotShape)
+
+ singlePivot_RGB <- RGB_raster %>% crop(., pivotShape) %>% mask(., pivotShape)
+ singlePivot_false <- RGB_raster_stretch %>% crop(., pivotShape) %>% mask(., pivotShape)
+
+ abs_CI_last_week <- last_week_dif_raster_abs %>% crop(., pivotShape) %>% mask(., pivotShape)
+ abs_CI_three_week <- three_week_dif_raster_abs %>% crop(., pivotShape) %>% mask(., pivotShape)
+
+ # planting_date <- harvesting_data %>% dplyr::filter(Field %in% pivotName) %>% ungroup() %>% dplyr::select(planting_date) %>% unique()
+
+ joined_spans2 <- joined_spans %>% st_transform(crs(pivotShape)) %>% dplyr::filter(Field %in% pivotName) %>% st_crop(., pivotShape)
+
+ # CImap_m2 <- create_CI_map(singlePivot_m2, AllPivots2, joined_spans2, show_legend= T, legend_is_portrait = T, week = week_minus_2, age = age -2)
+ Legend_map <- create_CI_map(singlePivot_m1, AllPivots2, joined_spans2, show_legend= T, legend_is_portrait =T, week = week_minus_1, age = age -1, legend_only = T)
+ CImap_m1 <- create_CI_map(singlePivot_m1, AllPivots2, joined_spans2, show_legend= T, legend_is_portrait =T, week = week_minus_1, age = age -1)
+ CImap <- create_CI_map(singlePivot, AllPivots2, joined_spans2, show_legend= F, legend_is_portrait = T, week = week, age = age )
+ RGBmap <- create_RGB_map(singlePivot_false, AllPivots2, joined_spans2, show_legend= F, week = week, age = age, red =T )
+ Falsemap <- create_RGB_map(singlePivot_false, AllPivots2, joined_spans2, show_legend= F, week = week, age = age, red =F )
+
+
+ CI_max_abs_last_week <- create_CI_diff_map(abs_CI_last_week,AllPivots2, joined_spans2, show_legend = T, legend_is_portrait = T, week_1 = week, week_2 = week_minus_1, age = age)
+ CI_max_abs_three_week <- create_CI_diff_map(abs_CI_three_week, AllPivots2, joined_spans2, show_legend = F, legend_is_portrait = T, week_1 = week, week_2 = week_minus_3, age = age)
+
+ # tst <- tmap_arrange(CImap_m2, CImap_m1, CImap,CI_max_abs_last_week, CI_max_abs_three_week, nrow = 1)
+ tst <- tmap_arrange(RGBmap,Falsemap,
+ CImap_m1, CImap,
+ CI_max_abs_last_week, CI_max_abs_three_week,
+ ncol = 2)
+
+ cat(paste("## Field", pivotName, "-", age$Age[1], "weeks after planting/harvest", "\n"))
+ # cat("\n")
+ # cat('
Pivot', pivotName, '- week', week, '-', age$Age, 'weeks after planting/harvest ')
+ # cat(paste("# Pivot",pivots$pivot[i],"\n"))
+ print(tst)
+
+}
+
+
+subchunkify <- function(g, fig_height=7, fig_width=5) {
+ g_deparsed <- paste0(deparse(
+ function() {g}
+ ), collapse = '')
+
+ sub_chunk <- paste0("```{r sub_chunk_", floor(runif(1) * 10000), ", fig.height=", fig_height, ", fig.width=", fig_width, ", echo=FALSE}",
+ "\n(",
+ g_deparsed
+ , ")()",
+ "\n```
+ ")
+
+ cat(knitr::knit(text = knitr::knit_expand(text = sub_chunk), quiet = TRUE))
+}
+
+cum_ci_plot <- function(pivotName){
+
+ # pivotName = "2.1"
+
+ # Check if pivotName exists in the data
+ if (!pivotName %in% unique(CI_quadrant$Field)) {
+ # message("PivotName '", pivotName, "' not found. Plotting empty graph.")
+ g <- ggplot() + labs(title = "Empty Graph - Yield dates missing")
+ return(
+ subchunkify(g, fig_height=2, fig_width = 10)
+ )
+ } else {
+ # message("PivotName '", pivotName, "' found. Plotting normal graph.")
+ data_ci <- CI_quadrant %>% filter(Field %in% pivotName)
+
+
+
+ data_ci2 <- data_ci %>% mutate(CI_rate = cumulative_CI/DOY,
+ week = week(Date))%>% group_by(subField) %>%
+ mutate(mean_rolling10 = rollapplyr(CI_rate , width = 10, FUN = mean, partial = TRUE))
+
+ # date_preperation_perfect_pivot <- data_ci2 %>% group_by(season) %>% summarise(min_date = min(Date),
+ # max_date = max(Date),
+ # days = max_date - min_date)
+
+ # Identify unique seasons
+ filtered_data <- data_ci2 %>%
+ group_by(season) %>%
+ mutate(rank = dense_rank(desc(season))) %>%
+ filter(rank <= 2) %>%
+ ungroup() %>%
+ dplyr::select(-rank)
+
+
+ # g <- ggplot(data= data_ci2 %>% filter(season %in% unique_seasons)) +
+ g <- ggplot(data= filtered_data ) +
+ # geom_line(aes(Date, mean_rolling10, col = subField)) +
+ geom_line(aes(Date, CI_rate, col = subField)) +
+ facet_wrap(~season, scales = "free_x") +
+ # geom_line(data= perfect_pivot, aes(Date , mean_rolling10, col = "Model CI (p5.1 Data 2022, \n date x axis is fictive)"), lty="11",size=1) +
+ labs(title = paste("CI rate - Field", pivotName),
+ y = "CI rate (cumulative CI / Age)")+
+ # scale_y_continuous(limits=c(0.5,3), breaks = seq(0.5, 3, 0.5))+
+ scale_x_date(date_breaks = "1 month", date_labels = "%m-%Y") +
+ theme(axis.text.x = element_text(angle = 60, hjust = 1),
+ legend.justification=c(1,0), legend.position = c(1, 0),
+ legend.title = element_text(size = 8),
+ legend.text = element_text(size = 8)) +
+ guides(color = guide_legend(nrow = 2, byrow = TRUE))
+ subchunkify(g, fig_height=6, fig_width = 10)
+ }
+}
+
-library(CIprep)
# Vang alle command line argumenten op
args <- commandArgs(trailingOnly = TRUE)
@@ -56,7 +495,7 @@ weekly_CI_mosaic <- here(laravel_storage_dir, "weekly_mosaic")
daily_vrt <- here(data_dir, "vrt")
harvest_dir <- here(data_dir, "HarvestData")
-source(here("r_app", "parameters_project.R"))
+source("parameters_project.R")
dir.create(here(laravel_storage_dir))
dir.create(here(data_dir))
@@ -69,19 +508,19 @@ dir.create(merged_final)
dir.create(harvest_dir)
-
+weeks_ago = 0
# Creating weekly mosaic
dates <- date_list(weeks_ago)
-
+print(dates)
#load pivot geojson
# pivot_sf_q <- st_read(here(data_dir, "pivot.geojson")) %>% dplyr::select(pivot, pivot_quadrant) %>% vect()
raster_files <- list.files(planet_tif_folder,full.names = T, pattern = ".tif")
-head(raster_files)
filtered_files <- map(dates$days_filter, ~ raster_files[grepl(pattern = .x, x = raster_files)]) %>%
compact() %>%
flatten_chr()
+head(filtered_files)
# filtered_files <- raster_files #for first CI extraction
diff --git a/r_app/packages/CIprep_0.1.4.tar.gz b/r_app/packages/CIprep_0.1.4.tar.gz
old mode 100644
new mode 100755
diff --git a/r_app/renv.lock b/r_app/renv.lock
index ee6da0f..5dd9e9c 100644
--- a/r_app/renv.lock
+++ b/r_app/renv.lock
@@ -1,6 +1,6 @@
{
"R": {
- "Version": "4.3.1",
+ "Version": "4.3.3",
"Repositories": [
{
"Name": "CRAN",
@@ -11,7 +11,7 @@
"Packages": {
"CAST": {
"Package": "CAST",
- "Version": "0.8.1",
+ "Version": "0.9.0",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
@@ -19,73 +19,55 @@
"R",
"caret",
"data.table",
+ "forcats",
"ggplot2",
"grDevices",
"graphics",
"lattice",
"methods",
"plyr",
+ "sf",
"stats",
"utils",
"zoo"
],
- "Hash": "1ac6cd0b634bf5f394b1199425c9b3b2"
- },
- "CIprep": {
- "Package": "CIprep",
- "Version": "0.1.4",
- "Source": "unknown",
- "Requirements": [
- "data.table",
- "dplyr",
- "exactextractr",
- "here",
- "lubridate",
- "magrittr",
- "purrr",
- "sf",
- "stats",
- "stringr",
- "terra",
- "tidyr"
- ],
- "Hash": "2b02278685760e0f4295c8c9ee3c49d9"
+ "Hash": "51b195c0064f6060a76c3e4a4ecfe4e4"
},
"DBI": {
"Package": "DBI",
- "Version": "1.1.3",
+ "Version": "1.2.2",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
"R",
"methods"
],
- "Hash": "b2866e62bab9378c3cc9476a1954226b"
+ "Hash": "164809cd72e1d5160b4cb3aa57f510fe"
},
"FNN": {
"Package": "FNN",
- "Version": "1.1.3.2",
+ "Version": "1.1.4",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
"R"
],
- "Hash": "e9e53a559ef99e0c02bc2f9a944f0bee"
+ "Hash": "eaabdc7938aa3632a28273f53a0d226d"
},
"KernSmooth": {
"Package": "KernSmooth",
- "Version": "2.23-21",
+ "Version": "2.23-22",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
"R",
"stats"
],
- "Hash": "6314fc110e09548ba889491db6ae67fb"
+ "Hash": "2fecebc3047322fa5930f74fae5de70f"
},
"MASS": {
"Package": "MASS",
- "Version": "7.3-60",
+ "Version": "7.3-60.0.1",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
@@ -96,15 +78,16 @@
"stats",
"utils"
],
- "Hash": "a56a6365b3fa73293ea8d084be0d9bb0"
+ "Hash": "b765b28387acc8ec9e9c1530713cb19c"
},
"Matrix": {
"Package": "Matrix",
- "Version": "1.5-4.1",
+ "Version": "1.6-5",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
"R",
+ "grDevices",
"graphics",
"grid",
"lattice",
@@ -112,7 +95,7 @@
"stats",
"utils"
],
- "Hash": "38082d362d317745fb932e13956dccbb"
+ "Hash": "8c7115cd3a0e048bda2a7cd110549f7a"
},
"ModelMetrics": {
"Package": "ModelMetrics",
@@ -148,14 +131,14 @@
},
"Rcpp": {
"Package": "Rcpp",
- "Version": "1.0.11",
+ "Version": "1.0.12",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
"methods",
"utils"
],
- "Hash": "ae6cbbe1492f4de79c45fce06f967ce8"
+ "Hash": "5ea2700d21e038ace58269ecdbeb9ec0"
},
"SQUAREM": {
"Package": "SQUAREM",
@@ -169,7 +152,7 @@
},
"XML": {
"Package": "XML",
- "Version": "3.99-0.14",
+ "Version": "3.99-0.16.1",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
@@ -177,7 +160,7 @@
"methods",
"utils"
],
- "Hash": "e5c8af79df616c135b21eaeb1dc6bc5c"
+ "Hash": "da3098169c887914551b607c66fe2a28"
},
"abind": {
"Package": "abind",
@@ -193,13 +176,13 @@
},
"askpass": {
"Package": "askpass",
- "Version": "1.1",
+ "Version": "1.2.0",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
"sys"
],
- "Hash": "e8a22846fff485f0be3770c2da758713"
+ "Hash": "cad6cf7f1d5f6e906700b9d3e718c796"
},
"backports": {
"Package": "backports",
@@ -280,23 +263,25 @@
},
"bslib": {
"Package": "bslib",
- "Version": "0.5.0",
+ "Version": "0.7.0",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
"R",
"base64enc",
"cachem",
+ "fastmap",
"grDevices",
"htmltools",
"jquerylib",
"jsonlite",
+ "lifecycle",
"memoise",
"mime",
"rlang",
"sass"
],
- "Hash": "1b117970533deb6d4e992c1b34e9d905"
+ "Hash": "8644cc53f43828f19133548195d7e59e"
},
"cachem": {
"Package": "cachem",
@@ -311,7 +296,7 @@
},
"callr": {
"Package": "callr",
- "Version": "3.7.3",
+ "Version": "3.7.6",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
@@ -320,7 +305,7 @@
"processx",
"utils"
],
- "Hash": "9b2191ede20fa29828139b9900922e51"
+ "Hash": "d7e13f49c19103ece9e58ad2d83a7354"
},
"caret": {
"Package": "caret",
@@ -375,7 +360,7 @@
},
"classInt": {
"Package": "classInt",
- "Version": "0.4-9",
+ "Version": "0.4-10",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
@@ -387,18 +372,18 @@
"graphics",
"stats"
],
- "Hash": "bee651a42a89633eccb36dca9d9ab413"
+ "Hash": "f5a40793b1ae463a7ffb3902a95bf864"
},
"cli": {
"Package": "cli",
- "Version": "3.6.1",
+ "Version": "3.6.2",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
"R",
"utils"
],
- "Hash": "89e6d8219950eac806ae0c489052048a"
+ "Hash": "1216ac65ac55ec0058a6f75d7ca0fd52"
},
"clipr": {
"Package": "clipr",
@@ -450,6 +435,13 @@
],
"Hash": "f20c47fd52fae58b4e377c37bb8c335b"
},
+ "commonmark": {
+ "Package": "commonmark",
+ "Version": "1.9.1",
+ "Source": "Repository",
+ "Repository": "CRAN",
+ "Hash": "5d8225445acb167abf7797de48b2ee3c"
+ },
"conflicted": {
"Package": "conflicted",
"Version": "1.2.0",
@@ -465,10 +457,13 @@
},
"cpp11": {
"Package": "cpp11",
- "Version": "0.4.5",
+ "Version": "0.4.7",
"Source": "Repository",
"Repository": "CRAN",
- "Hash": "f07821e9b0aada6c999d4692e22a2ea7"
+ "Requirements": [
+ "R"
+ ],
+ "Hash": "5a295d7d963cc5035284dcdbaf334f4e"
},
"crayon": {
"Package": "crayon",
@@ -484,7 +479,7 @@
},
"crosstalk": {
"Package": "crosstalk",
- "Version": "1.2.0",
+ "Version": "1.2.1",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
@@ -493,32 +488,32 @@
"jsonlite",
"lazyeval"
],
- "Hash": "6aa54f69598c32177e920eb3402e8293"
+ "Hash": "ab12c7b080a57475248a30f4db6298c0"
},
"curl": {
"Package": "curl",
- "Version": "5.0.1",
+ "Version": "5.2.1",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
"R"
],
- "Hash": "2118af9cb164c8d2dddc7b89eaf732d9"
+ "Hash": "411ca2c03b1ce5f548345d2fc2685f7a"
},
"data.table": {
"Package": "data.table",
- "Version": "1.14.8",
+ "Version": "1.15.4",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
"R",
"methods"
],
- "Hash": "b4c06e554f33344e044ccd7fdca750a9"
+ "Hash": "8ee9ac56ef633d0c7cab8b2ca87d683e"
},
"dbplyr": {
"Package": "dbplyr",
- "Version": "2.3.3",
+ "Version": "2.5.0",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
@@ -542,7 +537,7 @@
"vctrs",
"withr"
],
- "Hash": "d6fd1b1440c1cacc6623aaa4e9fe352b"
+ "Hash": "39b2e002522bfd258039ee4e889e0fd1"
},
"diagram": {
"Package": "diagram",
@@ -570,18 +565,18 @@
},
"digest": {
"Package": "digest",
- "Version": "0.6.33",
+ "Version": "0.6.35",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
"R",
"utils"
],
- "Hash": "b18a9cf3c003977b0cc49d5e76ebe48d"
+ "Hash": "698ece7ba5a4fa4559e3d537e7ec3d31"
},
"dplyr": {
"Package": "dplyr",
- "Version": "1.1.2",
+ "Version": "1.1.4",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
@@ -600,7 +595,7 @@
"utils",
"vctrs"
],
- "Hash": "dea6970ff715ca541c387de363ff405e"
+ "Hash": "fedd9d00c2944ff00a0e2696ccf048ec"
},
"dtplyr": {
"Package": "dtplyr",
@@ -623,7 +618,7 @@
},
"e1071": {
"Package": "e1071",
- "Version": "1.7-13",
+ "Version": "1.7-14",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
@@ -635,7 +630,7 @@
"stats",
"utils"
],
- "Hash": "1046cb48d06cb40c2900d8878f03a0fe"
+ "Hash": "4ef372b716824753719a8a38b258442d"
},
"ellipsis": {
"Package": "ellipsis",
@@ -650,18 +645,18 @@
},
"evaluate": {
"Package": "evaluate",
- "Version": "0.21",
+ "Version": "0.23",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
"R",
"methods"
],
- "Hash": "d59f3b464e8da1aef82dc04b588b8dfb"
+ "Hash": "daf4a1246be12c1fa8c7705a0935c1a0"
},
"exactextractr": {
"Package": "exactextractr",
- "Version": "0.9.1",
+ "Version": "0.10.0",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
@@ -671,11 +666,11 @@
"raster",
"sf"
],
- "Hash": "146d8a90d297c46e9ac4b9cad4643124"
+ "Hash": "3db813596387e90573ad092d5e3fde37"
},
"fansi": {
"Package": "fansi",
- "Version": "1.0.4",
+ "Version": "1.0.6",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
@@ -683,7 +678,7 @@
"grDevices",
"utils"
],
- "Hash": "1d9e7ad3c8312a192dea7d3db0274fde"
+ "Hash": "962174cf2aeb5b9eea581522286a911f"
},
"farver": {
"Package": "farver",
@@ -701,7 +696,7 @@
},
"fontawesome": {
"Package": "fontawesome",
- "Version": "0.5.1",
+ "Version": "0.5.2",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
@@ -709,7 +704,7 @@
"htmltools",
"rlang"
],
- "Hash": "1e22b8cabbad1eae951a75e9f8b52378"
+ "Hash": "c2efdd5f0bcd1ea861c2d4e2a883a67d"
},
"forcats": {
"Package": "forcats",
@@ -769,7 +764,7 @@
},
"future": {
"Package": "future",
- "Version": "1.33.0",
+ "Version": "1.33.2",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
@@ -780,11 +775,11 @@
"parallelly",
"utils"
],
- "Hash": "8e92c7bc53e91b9bb1faf9a6ef0e8514"
+ "Hash": "fd7b1d69d16d0d114e4fa82db68f184c"
},
"future.apply": {
"Package": "future.apply",
- "Version": "1.11.0",
+ "Version": "1.11.2",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
@@ -794,7 +789,7 @@
"parallel",
"utils"
],
- "Hash": "ba4be138fe47eac3e16a6deaa4da106e"
+ "Hash": "afe1507511629f44572e6c53b9baeb7c"
},
"gargle": {
"Package": "gargle",
@@ -846,17 +841,17 @@
},
"geometries": {
"Package": "geometries",
- "Version": "0.2.3",
+ "Version": "0.2.4",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
"Rcpp"
],
- "Hash": "122e8341ead01f3746dd312ecc5ffd28"
+ "Hash": "a722b946e99fd7a006ab1239c0d1b2bc"
},
"ggplot2": {
"Package": "ggplot2",
- "Version": "3.4.2",
+ "Version": "3.5.0",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
@@ -877,29 +872,29 @@
"vctrs",
"withr"
],
- "Hash": "3a147ee02e85a8941aad9909f1b43b7b"
+ "Hash": "52ef83f93f74833007f193b2d4c159a2"
},
"globals": {
"Package": "globals",
- "Version": "0.16.2",
+ "Version": "0.16.3",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
"R",
"codetools"
],
- "Hash": "baa9585ab4ce47a9f4618e671778cc6f"
+ "Hash": "2580567908cafd4f187c1e5a91e98b7f"
},
"glue": {
"Package": "glue",
- "Version": "1.6.2",
+ "Version": "1.7.0",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
"R",
"methods"
],
- "Hash": "4f2596dfb05dac67b9dc558e5c6fba2e"
+ "Hash": "e0b3a53876554bd45879e596cdb10a52"
},
"googledrive": {
"Package": "googledrive",
@@ -961,23 +956,9 @@
"Repository": "CRAN",
"Hash": "7a0051eef852c301b5efe2f7913dd45f"
},
- "gridExtra": {
- "Package": "gridExtra",
- "Version": "2.3",
- "Source": "Repository",
- "Repository": "CRAN",
- "Requirements": [
- "grDevices",
- "graphics",
- "grid",
- "gtable",
- "utils"
- ],
- "Hash": "7d7f283939f563670a697165b2cf5560"
- },
"gtable": {
"Package": "gtable",
- "Version": "0.3.3",
+ "Version": "0.3.4",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
@@ -988,11 +969,11 @@
"lifecycle",
"rlang"
],
- "Hash": "b44addadb528a0d227794121c00572a0"
+ "Hash": "b29cf3031f49b04ab9c852c912547eef"
},
"hardhat": {
"Package": "hardhat",
- "Version": "1.3.0",
+ "Version": "1.3.1",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
@@ -1003,11 +984,11 @@
"tibble",
"vctrs"
],
- "Hash": "b56b42c50bb7c76a683e8e61f415d828"
+ "Hash": "921fd010cd788de75a9c71c2c3aee1f2"
},
"haven": {
"Package": "haven",
- "Version": "2.5.3",
+ "Version": "2.5.4",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
@@ -1024,7 +1005,7 @@
"tidyselect",
"vctrs"
],
- "Hash": "9b302fe352f9cfc5dcf0a4139af3a565"
+ "Hash": "9171f898db9d9c4c1b2c745adc2c1ef1"
},
"here": {
"Package": "here",
@@ -1063,24 +1044,23 @@
},
"htmltools": {
"Package": "htmltools",
- "Version": "0.5.5",
+ "Version": "0.5.8.1",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
"R",
"base64enc",
"digest",
- "ellipsis",
"fastmap",
"grDevices",
"rlang",
"utils"
],
- "Hash": "ba0240784ad50a62165058a27459304a"
+ "Hash": "81d371a9cc60640e74e4ab6ac46dcedc"
},
"htmlwidgets": {
"Package": "htmlwidgets",
- "Version": "1.6.2",
+ "Version": "1.6.4",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
@@ -1091,11 +1071,26 @@
"rmarkdown",
"yaml"
],
- "Hash": "a865aa85bcb2697f47505bfd70422471"
+ "Hash": "04291cc45198225444a397606810ac37"
+ },
+ "httpuv": {
+ "Package": "httpuv",
+ "Version": "1.6.15",
+ "Source": "Repository",
+ "Repository": "CRAN",
+ "Requirements": [
+ "R",
+ "R6",
+ "Rcpp",
+ "later",
+ "promises",
+ "utils"
+ ],
+ "Hash": "d55aa087c47a63ead0f6fc10f8fa1ee0"
},
"httr": {
"Package": "httr",
- "Version": "1.4.6",
+ "Version": "1.4.7",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
@@ -1106,7 +1101,7 @@
"mime",
"openssl"
],
- "Hash": "7e5e3cbd2a7bc07880c94e22348fb661"
+ "Hash": "ac107251d9d9fd72f0ca8049988f1d7f"
},
"ids": {
"Package": "ids",
@@ -1181,17 +1176,17 @@
},
"jsonlite": {
"Package": "jsonlite",
- "Version": "1.8.7",
+ "Version": "1.8.8",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
"methods"
],
- "Hash": "266a20443ca13c65688b2116d5220f76"
+ "Hash": "e1b9c55281c5adc4dd113652d9e26768"
},
"knitr": {
"Package": "knitr",
- "Version": "1.43",
+ "Version": "1.46",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
@@ -1203,22 +1198,33 @@
"xfun",
"yaml"
],
- "Hash": "9775eb076713f627c07ce41d8199d8f6"
+ "Hash": "6e008ab1d696a5283c79765fa7b56b47"
},
"labeling": {
"Package": "labeling",
- "Version": "0.4.2",
+ "Version": "0.4.3",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
"graphics",
"stats"
],
- "Hash": "3d5108641f47470611a32d0bdf357a72"
+ "Hash": "b64ec208ac5bc1852b285f665d6368b3"
+ },
+ "later": {
+ "Package": "later",
+ "Version": "1.3.2",
+ "Source": "Repository",
+ "Repository": "CRAN",
+ "Requirements": [
+ "Rcpp",
+ "rlang"
+ ],
+ "Hash": "a3e051d405326b8b0012377434c62b37"
},
"lattice": {
"Package": "lattice",
- "Version": "0.21-8",
+ "Version": "0.22-5",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
@@ -1229,16 +1235,17 @@
"stats",
"utils"
],
- "Hash": "0b8a6d63c8770f02a8b5635f3c431e6b"
+ "Hash": "7c5e89f04e72d6611c77451f6331a091"
},
"lava": {
"Package": "lava",
- "Version": "1.7.2.1",
+ "Version": "1.8.0",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
"R",
"SQUAREM",
+ "cli",
"future.apply",
"grDevices",
"graphics",
@@ -1249,7 +1256,7 @@
"survival",
"utils"
],
- "Hash": "bbc70840ea0f91f34dd9703efe4c96c3"
+ "Hash": "579303ca1e817d94cea694b319803380"
},
"lazyeval": {
"Package": "lazyeval",
@@ -1282,7 +1289,7 @@
},
"leaflet": {
"Package": "leaflet",
- "Version": "2.2.0",
+ "Version": "2.2.2",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
@@ -1300,20 +1307,21 @@
"scales",
"sp",
"stats",
- "viridis",
+ "viridisLite",
"xfun"
],
- "Hash": "f73dcc38ff38127bc11ea776786996de"
+ "Hash": "ca012d4a706e21ce217ba15f22d402b2"
},
"leaflet.providers": {
"Package": "leaflet.providers",
- "Version": "1.13.0",
+ "Version": "2.0.0",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
- "R"
+ "R",
+ "htmltools"
],
- "Hash": "235cd5abed82d9e6e79eb05eee248983"
+ "Hash": "c0b81ad9d5d932772f7a457ac398cf36"
},
"leafsync": {
"Package": "leafsync",
@@ -1331,7 +1339,7 @@
},
"lifecycle": {
"Package": "lifecycle",
- "Version": "1.0.3",
+ "Version": "1.0.4",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
@@ -1340,21 +1348,21 @@
"glue",
"rlang"
],
- "Hash": "001cecbeac1cff9301bdc3775ee46a86"
+ "Hash": "b8552d117e1b808b09a832f589b79035"
},
"listenv": {
"Package": "listenv",
- "Version": "0.9.0",
+ "Version": "0.9.1",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
"R"
],
- "Hash": "4fbd3679ec8ee169ba28d4b1ea7d0e8f"
+ "Hash": "e2fca3e12e4db979dccc6e519b10a7ee"
},
"lubridate": {
"Package": "lubridate",
- "Version": "1.9.2",
+ "Version": "1.9.3",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
@@ -1363,11 +1371,11 @@
"methods",
"timechange"
],
- "Hash": "e25f18436e3efd42c7c590a1c4c15390"
+ "Hash": "680ad542fbcf801442c83a6ac5a2126c"
},
"lwgeom": {
"Package": "lwgeom",
- "Version": "0.2-13",
+ "Version": "0.2-14",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
@@ -1376,7 +1384,7 @@
"sf",
"units"
],
- "Hash": "9804362cc0267990ac61a85edeca73ed"
+ "Hash": "f1fb7cc9fc60f3b039201174268aaad9"
},
"magrittr": {
"Package": "magrittr",
@@ -1401,7 +1409,7 @@
},
"mgcv": {
"Package": "mgcv",
- "Version": "1.8-42",
+ "Version": "1.9-1",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
@@ -1414,7 +1422,7 @@
"stats",
"utils"
],
- "Hash": "3460beba7ccc8946249ba35327ba902a"
+ "Hash": "110ee9d83b496279960e162ac97764ce"
},
"mime": {
"Package": "mime",
@@ -1446,18 +1454,18 @@
},
"munsell": {
"Package": "munsell",
- "Version": "0.5.0",
+ "Version": "0.5.1",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
"colorspace",
"methods"
],
- "Hash": "6dfe8bf774944bd5595785e3229d8771"
+ "Hash": "4fd8900853b746af55b81fda99da7695"
},
"nlme": {
"Package": "nlme",
- "Version": "3.1-162",
+ "Version": "3.1-164",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
@@ -1467,7 +1475,7 @@
"stats",
"utils"
],
- "Hash": "0984ce8da8da9ead8643c5cbbb60f83e"
+ "Hash": "a623a2239e642806158bc4dc3f51565d"
},
"nnet": {
"Package": "nnet",
@@ -1493,17 +1501,17 @@
},
"openssl": {
"Package": "openssl",
- "Version": "2.1.0",
+ "Version": "2.1.1",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
"askpass"
],
- "Hash": "273a6bb4a9844c296a459d2176673270"
+ "Hash": "2a0dc8c6adfb6f032e4d4af82d258ab5"
},
"pROC": {
"Package": "pROC",
- "Version": "1.18.4",
+ "Version": "1.18.5",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
@@ -1512,11 +1520,11 @@
"methods",
"plyr"
],
- "Hash": "4b0115a395ea29f88b1c128dc483ced2"
+ "Hash": "82d32ebd548c6a4e7de73bab96411b3b"
},
"parallelly": {
"Package": "parallelly",
- "Version": "1.36.0",
+ "Version": "1.37.1",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
@@ -1524,7 +1532,7 @@
"tools",
"utils"
],
- "Hash": "bca377e1c87ec89ebed77bba00635b2e"
+ "Hash": "5410df8d22bd36e616f2a2343dbb328c"
},
"pillar": {
"Package": "pillar",
@@ -1555,14 +1563,14 @@
},
"plyr": {
"Package": "plyr",
- "Version": "1.8.8",
+ "Version": "1.8.9",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
"R",
"Rcpp"
],
- "Hash": "d744387aef9047b0b48be2933d78e862"
+ "Hash": "6b8177fd19982f0020743fadbfdbd933"
},
"png": {
"Package": "png",
@@ -1576,14 +1584,17 @@
},
"prettyunits": {
"Package": "prettyunits",
- "Version": "1.1.1",
+ "Version": "1.2.0",
"Source": "Repository",
"Repository": "CRAN",
- "Hash": "95ef9167b75dde9d2ccc3c7528393e7e"
+ "Requirements": [
+ "R"
+ ],
+ "Hash": "6b01fc98b1e86c4f705ce9dcfd2f57c7"
},
"processx": {
"Package": "processx",
- "Version": "3.8.2",
+ "Version": "3.8.4",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
@@ -1592,11 +1603,11 @@
"ps",
"utils"
],
- "Hash": "3efbd8ac1be0296a46c55387aeace0f3"
+ "Hash": "0c90a7d71988856bad2a2a45dd871bb9"
},
"prodlim": {
"Package": "prodlim",
- "Version": "2023.03.31",
+ "Version": "2023.08.28",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
@@ -1611,24 +1622,25 @@
"stats",
"survival"
],
- "Hash": "3f60fadb28cfebdd20b0dd4198a38c60"
+ "Hash": "c73e09a2039a0f75ac0a1e5454b39993"
},
"progress": {
"Package": "progress",
- "Version": "1.2.2",
+ "Version": "1.2.3",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
+ "R",
"R6",
"crayon",
"hms",
"prettyunits"
],
- "Hash": "14dc9f7a3c91ebb14ec5bb9208a07061"
+ "Hash": "f4625e061cb2865f111b47ff163a5ca6"
},
"progressr": {
"Package": "progressr",
- "Version": "0.13.0",
+ "Version": "0.14.0",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
@@ -1636,7 +1648,23 @@
"digest",
"utils"
],
- "Hash": "376a8ebcc878f9c1395e212548fc297a"
+ "Hash": "ac50c4ffa8f6a46580dd4d7813add3c4"
+ },
+ "promises": {
+ "Package": "promises",
+ "Version": "1.3.0",
+ "Source": "Repository",
+ "Repository": "CRAN",
+ "Requirements": [
+ "R6",
+ "Rcpp",
+ "fastmap",
+ "later",
+ "magrittr",
+ "rlang",
+ "stats"
+ ],
+ "Hash": "434cd5388a3979e74be5c219bcd6e77d"
},
"proxy": {
"Package": "proxy",
@@ -1652,18 +1680,18 @@
},
"ps": {
"Package": "ps",
- "Version": "1.7.5",
+ "Version": "1.7.6",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
"R",
"utils"
],
- "Hash": "709d852d33178db54b17c722e5b1e594"
+ "Hash": "dd2b9319ee0656c8acf45c7f40c59de7"
},
"purrr": {
"Package": "purrr",
- "Version": "1.0.1",
+ "Version": "1.0.2",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
@@ -1674,18 +1702,29 @@
"rlang",
"vctrs"
],
- "Hash": "d71c815267c640f17ddbf7f16144b4bb"
+ "Hash": "1cba04a4e9414bdefc9dcaa99649a8dc"
},
"ragg": {
"Package": "ragg",
- "Version": "1.2.5",
+ "Version": "1.3.0",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
"systemfonts",
"textshaping"
],
- "Hash": "690bc058ea2b1b8a407d3cfe3dce3ef9"
+ "Hash": "082e1a198e3329d571f4448ef0ede4bc"
+ },
+ "randomForest": {
+ "Package": "randomForest",
+ "Version": "4.7-1.1",
+ "Source": "Repository",
+ "Repository": "CRAN",
+ "Requirements": [
+ "R",
+ "stats"
+ ],
+ "Hash": "b52825075358b1ebd159e262bf40649d"
},
"rapidjsonr": {
"Package": "rapidjsonr",
@@ -1706,7 +1745,7 @@
},
"raster": {
"Package": "raster",
- "Version": "3.6-23",
+ "Version": "3.6-26",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
@@ -1716,11 +1755,11 @@
"sp",
"terra"
],
- "Hash": "337d6d70f7d6bf78df236a5a53f09db0"
+ "Hash": "7d6eda494f34a644420ac1bfd2a8023a"
},
"readr": {
"Package": "readr",
- "Version": "2.1.4",
+ "Version": "2.1.5",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
@@ -1739,7 +1778,7 @@
"utils",
"vroom"
],
- "Hash": "b5047343b3825f37ad9d3b5d89aa1078"
+ "Hash": "9de96463d2117f6ac49980577939dfb3"
},
"readxl": {
"Package": "readxl",
@@ -1758,7 +1797,7 @@
},
"recipes": {
"Package": "recipes",
- "Version": "1.0.6",
+ "Version": "1.0.10",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
@@ -1787,14 +1826,14 @@
"vctrs",
"withr"
],
- "Hash": "eb53ffc9674dc9a52c3a7e22d96d3f56"
+ "Hash": "69783cdd607c58fffb21c5c26c6ededf"
},
"rematch": {
"Package": "rematch",
- "Version": "1.0.1",
+ "Version": "2.0.0",
"Source": "Repository",
"Repository": "CRAN",
- "Hash": "c66b930d20bb6d858cd18e1cebcfae5c"
+ "Hash": "cbff1b666c6fa6d21202f07e2318d4f1"
},
"rematch2": {
"Package": "rematch2",
@@ -1818,7 +1857,7 @@
},
"reprex": {
"Package": "reprex",
- "Version": "2.0.2",
+ "Version": "2.1.0",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
@@ -1836,7 +1875,7 @@
"utils",
"withr"
],
- "Hash": "d66fe009d4c20b7ab1927eb405db9ee2"
+ "Hash": "1425f91b4d5d9a8f25352c44a3d914ed"
},
"reshape2": {
"Package": "reshape2",
@@ -1853,18 +1892,18 @@
},
"rlang": {
"Package": "rlang",
- "Version": "1.1.1",
+ "Version": "1.1.3",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
"R",
"utils"
],
- "Hash": "a85c767b55f0bf9b7ad16c6d7baee5bb"
+ "Hash": "42548638fae05fd9a9b5f3f437fbbbe2"
},
"rmarkdown": {
"Package": "rmarkdown",
- "Version": "2.23",
+ "Version": "2.26",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
@@ -1877,18 +1916,17 @@
"jsonlite",
"knitr",
"methods",
- "stringr",
"tinytex",
"tools",
"utils",
"xfun",
"yaml"
],
- "Hash": "79f14e53725f28900d936f692bfdd69f"
+ "Hash": "9b148e7f95d33aac01f31282d49e4f44"
},
"rpart": {
"Package": "rpart",
- "Version": "4.1.19",
+ "Version": "4.1.23",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
@@ -1897,21 +1935,21 @@
"graphics",
"stats"
],
- "Hash": "b3c892a81783376cc2204af0f5805a80"
+ "Hash": "b3d390424f41d04174cccf84d49676c2"
},
"rprojroot": {
"Package": "rprojroot",
- "Version": "2.0.3",
+ "Version": "2.0.4",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
"R"
],
- "Hash": "1de7ab598047a87bba48434ba35d497d"
+ "Hash": "4c8415e0ec1e29f3f4f6fc108bef0144"
},
"rsample": {
"Package": "rsample",
- "Version": "1.2.0",
+ "Version": "1.2.1",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
@@ -1932,18 +1970,18 @@
"tidyselect",
"vctrs"
],
- "Hash": "b20bb09ceef690842b44585ef49db74e"
+ "Hash": "95e0f11d79a7494919c14aa4d8e9e177"
},
"rstudioapi": {
"Package": "rstudioapi",
- "Version": "0.15.0",
+ "Version": "0.16.0",
"Source": "Repository",
"Repository": "CRAN",
- "Hash": "5564500e25cffad9e22244ced1379887"
+ "Hash": "96710351d642b70e8f02ddeb237c46a7"
},
"rvest": {
"Package": "rvest",
- "Version": "1.0.3",
+ "Version": "1.0.4",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
@@ -1956,14 +1994,13 @@
"rlang",
"selectr",
"tibble",
- "withr",
"xml2"
],
- "Hash": "a4a5ac819a467808c60e36e92ddf195e"
+ "Hash": "0bcf0c6f274e90ea314b812a6d19a519"
},
"s2": {
"Package": "s2",
- "Version": "1.1.4",
+ "Version": "1.1.6",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
@@ -1971,11 +2008,11 @@
"Rcpp",
"wk"
],
- "Hash": "f1cbe03bb3346f8e817518ffa20f9f5a"
+ "Hash": "32f7b1a15bb01ae809022960abad5363"
},
"sass": {
"Package": "sass",
- "Version": "0.4.7",
+ "Version": "0.4.9",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
@@ -1985,25 +2022,27 @@
"rappdirs",
"rlang"
],
- "Hash": "6bd4d33b50ff927191ec9acbf52fd056"
+ "Hash": "d53dbfddf695303ea4ad66f86e99b95d"
},
"scales": {
"Package": "scales",
- "Version": "1.2.1",
+ "Version": "1.3.0",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
"R",
"R6",
"RColorBrewer",
+ "cli",
"farver",
+ "glue",
"labeling",
"lifecycle",
"munsell",
"rlang",
"viridisLite"
],
- "Hash": "906cb23d2f1c5680b8ce439b44c6fa63"
+ "Hash": "c19df082ba346b0ffa6f833e92de34d1"
},
"selectr": {
"Package": "selectr",
@@ -2020,7 +2059,7 @@
},
"sf": {
"Package": "sf",
- "Version": "1.0-14",
+ "Version": "1.0-16",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
@@ -2039,11 +2078,11 @@
"units",
"utils"
],
- "Hash": "e2111252a76984ca50bf8d6314348681"
+ "Hash": "ad57b543f7c3fca05213ba78ff63df9b"
},
"sfheaders": {
"Package": "sfheaders",
- "Version": "0.4.3",
+ "Version": "0.4.4",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
@@ -2051,11 +2090,11 @@
"Rcpp",
"geometries"
],
- "Hash": "0b0a55852e87b8f8478efb505eba2ebe"
+ "Hash": "d63e904c63deda45f3f9149c7dcf8703"
},
"shape": {
"Package": "shape",
- "Version": "1.4.6",
+ "Version": "1.4.6.1",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
@@ -2064,11 +2103,44 @@
"graphics",
"stats"
],
- "Hash": "9067f962730f58b14d8ae54ca885509f"
+ "Hash": "5c47e84dc0a3ca761ae1d307889e796d"
+ },
+ "shiny": {
+ "Package": "shiny",
+ "Version": "1.8.1.1",
+ "Source": "Repository",
+ "Repository": "CRAN",
+ "Requirements": [
+ "R",
+ "R6",
+ "bslib",
+ "cachem",
+ "commonmark",
+ "crayon",
+ "fastmap",
+ "fontawesome",
+ "glue",
+ "grDevices",
+ "htmltools",
+ "httpuv",
+ "jsonlite",
+ "later",
+ "lifecycle",
+ "methods",
+ "mime",
+ "promises",
+ "rlang",
+ "sourcetools",
+ "tools",
+ "utils",
+ "withr",
+ "xtable"
+ ],
+ "Hash": "54b26646816af9960a4c64d8ceec75d6"
},
"slider": {
"Package": "slider",
- "Version": "0.3.0",
+ "Version": "0.3.1",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
@@ -2078,11 +2150,21 @@
"vctrs",
"warp"
],
- "Hash": "c1c73df260af9e1e3692eb3b8e1ecb88"
+ "Hash": "a584625e2b9e4fad4be135c8ea5c99aa"
+ },
+ "sourcetools": {
+ "Package": "sourcetools",
+ "Version": "0.1.7-1",
+ "Source": "Repository",
+ "Repository": "CRAN",
+ "Requirements": [
+ "R"
+ ],
+ "Hash": "5f5a7629f956619d519205ec475fe647"
},
"sp": {
"Package": "sp",
- "Version": "2.0-0",
+ "Version": "2.1-3",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
@@ -2095,11 +2177,11 @@
"stats",
"utils"
],
- "Hash": "2551981e6f85d59c81652bf654d6c3ca"
+ "Hash": "1a0cc0cec2915700e63fd0921085cf6a"
},
"stars": {
"Package": "stars",
- "Version": "0.6-4",
+ "Version": "0.6-5",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
@@ -2112,11 +2194,11 @@
"sf",
"units"
],
- "Hash": "8b4284bf9fddfb481d516877a2045023"
+ "Hash": "7ce64dc10f536ec74475652a2fd764fe"
},
"stringi": {
"Package": "stringi",
- "Version": "1.7.12",
+ "Version": "1.8.3",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
@@ -2125,11 +2207,11 @@
"tools",
"utils"
],
- "Hash": "ca8bd84263c77310739d2cf64d84d7c9"
+ "Hash": "058aebddea264f4c99401515182e656a"
},
"stringr": {
"Package": "stringr",
- "Version": "1.5.0",
+ "Version": "1.5.1",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
@@ -2142,11 +2224,11 @@
"stringi",
"vctrs"
],
- "Hash": "671a4d384ae9d32fc47a14e98bfa3dc8"
+ "Hash": "960e2ae9e09656611e0b8214ad543207"
},
"survival": {
"Package": "survival",
- "Version": "3.5-5",
+ "Version": "3.5-8",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
@@ -2158,7 +2240,7 @@
"stats",
"utils"
],
- "Hash": "d683341b1fa2e8d817efde27d6e6d35b"
+ "Hash": "184d7799bca4ba8c3be72ea396f4b9a3"
},
"sys": {
"Package": "sys",
@@ -2169,18 +2251,18 @@
},
"systemfonts": {
"Package": "systemfonts",
- "Version": "1.0.4",
+ "Version": "1.0.6",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
"R",
"cpp11"
],
- "Hash": "90b28393209827327de889f49935140a"
+ "Hash": "6d538cff441f0f1f36db2209ac7495ac"
},
"terra": {
"Package": "terra",
- "Version": "1.7-39",
+ "Version": "1.7-71",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
@@ -2188,11 +2270,11 @@
"Rcpp",
"methods"
],
- "Hash": "6037d18193ca3f16900646e773937094"
+ "Hash": "e8611881ab70a4fb7a1f629b31e6fcff"
},
"textshaping": {
"Package": "textshaping",
- "Version": "0.3.6",
+ "Version": "0.3.7",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
@@ -2200,7 +2282,7 @@
"cpp11",
"systemfonts"
],
- "Hash": "1ab6223d3670fac7143202cb6a2d43d5"
+ "Hash": "997aac9ad649e0ef3b97f96cddd5622b"
},
"tibble": {
"Package": "tibble",
@@ -2223,7 +2305,7 @@
},
"tidyr": {
"Package": "tidyr",
- "Version": "1.3.0",
+ "Version": "1.3.1",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
@@ -2242,11 +2324,11 @@
"utils",
"vctrs"
],
- "Hash": "e47debdc7ce599b070c8e78e8ac0cfcf"
+ "Hash": "915fb7ce036c22a6a33b5a8adb712eb1"
},
"tidyselect": {
"Package": "tidyselect",
- "Version": "1.2.0",
+ "Version": "1.2.1",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
@@ -2258,7 +2340,7 @@
"vctrs",
"withr"
],
- "Hash": "79540e5fcd9e0435af547d885f184fd5"
+ "Hash": "829f27b9c4919c16b593794a6344d6c0"
},
"tidyverse": {
"Package": "tidyverse",
@@ -2302,7 +2384,7 @@
},
"timeDate": {
"Package": "timeDate",
- "Version": "4022.108",
+ "Version": "4032.109",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
@@ -2312,28 +2394,28 @@
"stats",
"utils"
],
- "Hash": "3f7918d2b36c17ffe07cddba6458453e"
+ "Hash": "fa276a2ec2555d74b4eabf56fba3d209"
},
"timechange": {
"Package": "timechange",
- "Version": "0.2.0",
+ "Version": "0.3.0",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
"R",
"cpp11"
],
- "Hash": "8548b44f79a35ba1791308b61e6012d7"
+ "Hash": "c5f3c201b931cd6474d17d8700ccb1c8"
},
"tinytex": {
"Package": "tinytex",
- "Version": "0.45",
+ "Version": "0.50",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
"xfun"
],
- "Hash": "e4e357f28c2edff493936b6cb30c3d65"
+ "Hash": "be7a76845222ad20adb761f462eed3ea"
},
"tmap": {
"Package": "tmap",
@@ -2399,38 +2481,38 @@
},
"units": {
"Package": "units",
- "Version": "0.8-2",
+ "Version": "0.8-5",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
"R",
"Rcpp"
],
- "Hash": "422376fe53419adcde4710d43acbcdd0"
+ "Hash": "119d19da480e873f72241ff6962ffd83"
},
"utf8": {
"Package": "utf8",
- "Version": "1.2.3",
+ "Version": "1.2.4",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
"R"
],
- "Hash": "1fe17157424bb09c48a8b3b550c753bc"
+ "Hash": "62b65c52671e6665f803ff02954446e9"
},
"uuid": {
"Package": "uuid",
- "Version": "1.1-0",
+ "Version": "1.2-0",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
"R"
],
- "Hash": "f1cb46c157d080b729159d407be83496"
+ "Hash": "303c19bfd970bece872f93a824e323d9"
},
"vctrs": {
"Package": "vctrs",
- "Version": "0.6.3",
+ "Version": "0.6.5",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
@@ -2440,20 +2522,7 @@
"lifecycle",
"rlang"
],
- "Hash": "d0ef2856b83dc33ea6e255caf6229ee2"
- },
- "viridis": {
- "Package": "viridis",
- "Version": "0.6.4",
- "Source": "Repository",
- "Repository": "CRAN",
- "Requirements": [
- "R",
- "ggplot2",
- "gridExtra",
- "viridisLite"
- ],
- "Hash": "80cd127bc8c9d3d9f0904ead9a9102f1"
+ "Hash": "c03fa420630029418f7e6da3667aac4a"
},
"viridisLite": {
"Package": "viridisLite",
@@ -2467,7 +2536,7 @@
},
"vroom": {
"Package": "vroom",
- "Version": "1.6.3",
+ "Version": "1.6.5",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
@@ -2489,17 +2558,17 @@
"vctrs",
"withr"
],
- "Hash": "8318e64ffb3a70e652494017ec455561"
+ "Hash": "390f9315bc0025be03012054103d227c"
},
"warp": {
"Package": "warp",
- "Version": "0.2.0",
+ "Version": "0.2.1",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
"R"
],
- "Hash": "2982481615756e24e79fee95bdc95daa"
+ "Hash": "fea474d578b1cbcb696ae6ac8bdcc439"
},
"widgetframe": {
"Package": "widgetframe",
@@ -2519,55 +2588,69 @@
},
"withr": {
"Package": "withr",
- "Version": "2.5.0",
+ "Version": "3.0.0",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
"R",
"grDevices",
- "graphics",
- "stats"
+ "graphics"
],
- "Hash": "c0e49a9760983e81e55cdd9be92e7182"
+ "Hash": "d31b6c62c10dcf11ec530ca6b0dd5d35"
},
"wk": {
"Package": "wk",
- "Version": "0.7.3",
+ "Version": "0.9.1",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
"R"
],
- "Hash": "68a7ab6ec1afb5f076172b983c069313"
+ "Hash": "5d4545e140e36476f35f20d0ca87963e"
},
"xfun": {
"Package": "xfun",
- "Version": "0.39",
+ "Version": "0.43",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
+ "grDevices",
"stats",
"tools"
],
- "Hash": "8f56e9acb54fb525e66464d57ab58bcb"
+ "Hash": "ab6371d8653ce5f2f9290f4ec7b42a8e"
},
"xml2": {
"Package": "xml2",
- "Version": "1.3.5",
+ "Version": "1.3.6",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
"R",
- "methods"
+ "cli",
+ "methods",
+ "rlang"
],
- "Hash": "6c40e5cfcc6aefd88110666e18c31f40"
+ "Hash": "1d0336142f4cd25d8d23cd3ba7a8fb61"
+ },
+ "xtable": {
+ "Package": "xtable",
+ "Version": "1.8-4",
+ "Source": "Repository",
+ "Repository": "CRAN",
+ "Requirements": [
+ "R",
+ "stats",
+ "utils"
+ ],
+ "Hash": "b8acdf8af494d9ec19ccb2481a9b11c2"
},
"yaml": {
"Package": "yaml",
- "Version": "2.3.7",
+ "Version": "2.3.8",
"Source": "Repository",
"Repository": "CRAN",
- "Hash": "0d0056cc5383fbc240ccd0cb584bf436"
+ "Hash": "29240487a071f535f5e5d5a323b7afbd"
},
"zoo": {
"Package": "zoo",