From 5739d1be13639416169fc51f0b0270c23d5b8be0 Mon Sep 17 00:00:00 2001 From: Collin Schwantes Date: Thu, 5 Sep 2024 12:00:15 -0600 Subject: [PATCH 1/3] allows expand structural metadata to overwrite existing values --- R/expand_frictionless_metadata.R | 8 +++++--- man/expand_frictionless_metadata.Rd | 2 +- vignettes/data_examples/my_data.csv | 20 ++++++++++---------- vignettes/metadata.Rmd | 6 ++++++ 4 files changed, 22 insertions(+), 14 deletions(-) diff --git a/R/expand_frictionless_metadata.R b/R/expand_frictionless_metadata.R index 86ca8b2..7b04b2f 100644 --- a/R/expand_frictionless_metadata.R +++ b/R/expand_frictionless_metadata.R @@ -1,7 +1,7 @@ #' Expand Frictionless Metadata with structural metadata #' #' Loops over elements in the structural metadata and adds them to frictionless -#' metadata schema. +#' metadata schema. Will overwrite existing values. #' #' @param structural_metadata Dataframe. Structural metadata from #' `create_structural_metadata` or `update_structural_metadata` @@ -66,13 +66,15 @@ expand_frictionless_metadata <- function(structural_metadata, y <- structural_metadata[idx,idy][[1]] # get property name property_to_add_name <- names(structural_metadata)[idy] + property_to_add_value <- y - # skip properties that already exist + # overwrite properties that already exist if(property_to_add_name %in% names(x)){ + x[property_to_add_name] <- property_to_add_value next() } - property_to_add_value <- y + names(property_to_add_value) <- property_to_add_name x <- c(x, property_to_add_value) } diff --git a/man/expand_frictionless_metadata.Rd b/man/expand_frictionless_metadata.Rd index 58e5bad..d3d4253 100644 --- a/man/expand_frictionless_metadata.Rd +++ b/man/expand_frictionless_metadata.Rd @@ -26,7 +26,7 @@ Updates the datapackage, returns nothing } \description{ Loops over elements in the structural metadata and adds them to frictionless -metadata schema. +metadata schema. Will overwrite existing values. } \examples{ \dontrun{ diff --git a/vignettes/data_examples/my_data.csv b/vignettes/data_examples/my_data.csv index 23380b0..ddcc193 100644 --- a/vignettes/data_examples/my_data.csv +++ b/vignettes/data_examples/my_data.csv @@ -1,11 +1,11 @@ "date","measurement","measured_by","site_name","key" -2024-08-26,38,"Collin","b",1 -2024-08-27,64,"Johana","a",2 -2024-08-28,94,"Johana","e",3 -2024-08-29,75,"Johana","a",4 -2024-08-30,49,"Collin","d",5 -2024-08-31,78,"Collin","d",6 -2024-09-01,93,"Johana","b",7 -2024-09-02,2,"Johana","c",8 -2024-09-03,91,"Johana","c",9 -2024-09-04,27,"Johana","a",10 +2024-08-26,20,"Johana","b",1 +2024-08-27,13,"Johana","c",2 +2024-08-28,51,"Collin","b",3 +2024-08-29,14,"Collin","b",4 +2024-08-30,19,"Collin","c",5 +2024-08-31,29,"Johana","d",6 +2024-09-01,2,"Johana","d",7 +2024-09-02,88,"Collin","a",8 +2024-09-03,21,"Johana","d",9 +2024-09-04,25,"Johana","c",10 diff --git a/vignettes/metadata.Rmd b/vignettes/metadata.Rmd index 397be23..49a0a62 100644 --- a/vignettes/metadata.Rmd +++ b/vignettes/metadata.Rmd @@ -186,6 +186,10 @@ expand_frictionless_metadata(structural_metadata = structural_metadata, data_package_path = "data_examples/datapackage.json") +# update the deposit the new structural metadata +cli$deposit_update() + + ## OOPs actually I need to add more to the description descriptive_metadata <- list ( @@ -194,6 +198,8 @@ descriptive_metadata <- list ( creator = list (list (name = "A. Person"), list (name = "B. Person"),list (name = "C. Person"),list (name = "F. Person")) # , accessRights = "open" ) + + update_frictionless_metadata(descriptive_metadata = descriptive_metadata, data_package_path = "data_examples/datapackage.json" ) From 00a3094c5736812b77961951cf1b1765c81f3dc5 Mon Sep 17 00:00:00 2001 From: Collin Schwantes Date: Thu, 5 Sep 2024 12:00:55 -0600 Subject: [PATCH 2/3] Increment version number to 0.3.7 --- DESCRIPTION | 2 +- NEWS.md | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/DESCRIPTION b/DESCRIPTION index d1aae29..d13ddcb 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,7 +1,7 @@ Package: ohcleandat Type: Package Title: One Health Data Cleaning and Quality Checking Package -Version: 0.3.6 +Version: 0.3.7 Authors@R: c( person("Collin", "Schwantes", email = "schwantes@ecohealthalliance.org", role = c("cre", "aut"), comment = c(ORCID = "0000-0003-4014-4896")), person("Johana", "Teigen", email = "teigen@ecohealthalliance.org", role = "aut", comment = c(ORCID = "0000-0002-6209-2321")), diff --git a/NEWS.md b/NEWS.md index abe121a..d5aaa2e 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,3 +1,5 @@ +# ohcleandat 0.3.7 + # ohcleandat 0.3.6 * Adds a function to update the descriptive metadata in a frictionless datapackage From d813aefd5570d1eb3eb080ba12c2daeb037d09c3 Mon Sep 17 00:00:00 2001 From: Collin Schwantes Date: Thu, 5 Sep 2024 12:04:24 -0600 Subject: [PATCH 3/3] updated news --- NEWS.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/NEWS.md b/NEWS.md index d5aaa2e..06cca7c 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,5 +1,7 @@ # ohcleandat 0.3.7 +* Fixing bug in expand metadata - function now allows for updates + # ohcleandat 0.3.6 * Adds a function to update the descriptive metadata in a frictionless datapackage