Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Clean and fix #10

Merged
merged 41 commits into from
Jul 20, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
41 commits
Select commit Hold shift + click to select a range
48fed90
test 2
rebeccanash Jul 13, 2023
2bc7617
Merge remote-tracking branch 'origin/main' into ebola
rebeccanash Jul 13, 2023
47b9332
start dataset documentation
rebeccanash Jul 13, 2023
673c534
code cleaning, but article label missing
rebeccanash Jul 13, 2023
114b66d
add ggplot2 imports
rebeccanash Jul 13, 2023
9bae08e
clean and update documentation for append_new_entry_to_table and fore…
rebeccanash Jul 13, 2023
74d476e
edits for append_new_entry_to_table and create_new_article_entry
rebeccanash Jul 13, 2023
1a54a9d
Update pathogen_marburg.Rmd
cm401 Jul 13, 2023
bb3b9bb
create_new_model_entry documentation
rebeccanash Jul 14, 2023
f309dfb
code cleaning
rebeccanash Jul 14, 2023
b683232
cleaning and documentation for create_new_outbreak_entry
rebeccanash Jul 14, 2023
2fa4766
cleaning and documentation for create_new_parameter_entry
rebeccanash Jul 14, 2023
f28b578
forest_plot_delays documentation and minor edits
rebeccanash Jul 14, 2023
7c26c79
minor lint edits and documentation return edit
rebeccanash Jul 14, 2023
5e63856
documentation and cleaning for delay_table
rebeccanash Jul 14, 2023
e41882a
update NAMESPACE and man files
rebeccanash Jul 14, 2023
ce7b687
remove importfrom devtools
rebeccanash Jul 14, 2023
9d36f0c
R CMD check badge
rebeccanash Jul 17, 2023
51a549f
update README
rebeccanash Jul 17, 2023
f7868a8
add hex badge
rebeccanash Jul 17, 2023
73750d7
change load_data to load_epidata and add documentation
rebeccanash Jul 17, 2023
bb7c569
change load_data to load_epidata elsewhere
rebeccanash Jul 17, 2023
57b462c
change logo link
rebeccanash Jul 17, 2023
28ef296
clean and document remaining functions
rebeccanash Jul 17, 2023
4057d08
start data documentation
rebeccanash Jul 17, 2023
dcfc104
start R CMD check fixes and new data_delay_table() function
rebeccanash Jul 18, 2023
00e97ed
add new data_forest_plot_delay function
rebeccanash Jul 18, 2023
f0d8a02
change new function to data_forest_plots as data processing is the sa…
rebeccanash Jul 18, 2023
e1f9a46
additional tidyr import
rebeccanash Jul 18, 2023
c5b394a
new data_outbreak_table function
rebeccanash Jul 18, 2023
3de99a3
add new data_risk_table
rebeccanash Jul 19, 2023
9169501
merge param table data processing into one function data_param_table()
rebeccanash Jul 19, 2023
197e233
update documentation
rebeccanash Jul 19, 2023
676cbee
remove rlang
rebeccanash Jul 19, 2023
7a0f7da
document data and change dropdown filenames
rebeccanash Jul 19, 2023
e903f38
move data to extdata
rebeccanash Jul 19, 2023
0af37dd
vignette edits
rebeccanash Jul 19, 2023
2bcd9e6
remove Survey.year and Uncertainty
rebeccanash Jul 20, 2023
f292429
remove Survey.year and Uncertainty from csv
rebeccanash Jul 20, 2023
ecdf9b5
clarify outbreak_naive parameter
rebeccanash Jul 20, 2023
97b3d4b
documentation
rebeccanash Jul 20, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .Rbuildignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,4 @@
^doc$
^Meta$
^miscellaneous_files$
^LICENSE\.md$
16 changes: 9 additions & 7 deletions DESCRIPTION
Original file line number Diff line number Diff line change
Expand Up @@ -6,25 +6,27 @@ Authors@R: c(
comment = c(ORCID = "0000-0002-5213-4364")),
person("Christian", "Morgenstern", email = "c.morgenstern@imperial.ac.uk", role = "aut",
comment = c(ORCID = "0000-0003-3735-1130")),
person("Gina", "Cuomo-Dannenburg",role = "ctb", comment = c(ORCID = "0000-0001-6821-0352")),
person("Ruth", "McCabe", role = "ctb", comment = c(ORCID = "0000-0002-6368-9103")),
person("Kelly", "McCain", role = "ctb", comment = c(ORCID = "0000-0003-2393-2217")))
person("Gina", "Cuomo-Dannenburg", role = "aut", comment = c(ORCID = "0000-0001-6821-0352")),
person("Ruth", "McCabe", role = "aut", comment = c(ORCID = "0000-0002-6368-9103")),
person("Kelly", "McCain", role = "aut", comment = c(ORCID = "0000-0003-2393-2217")))
Description: Contains the latest open access pathogen data from the Pathogen Epidemiology Review Group (PERG). Tools are available to update pathogen databases with new peer-reviewed data as it becomes available, and to summarise the latest data using tables and figures.
License: GPL (>=2)
License: GPL (>= 3)
Imports:
ggplot2,
tidyverse,
tibble,
dplyr,
tidyr,
readr,
patchwork,
flextable,
tm,
validate,
meta
officer,
stringr,
validate
Suggests:
knitr,
meta,
tidyverse,
testthat (>= 3.0.0)
Encoding: UTF-8
Roxygen: list(markdown = TRUE)
Expand Down
21 changes: 0 additions & 21 deletions LICENSE

This file was deleted.

595 changes: 595 additions & 0 deletions LICENSE.md

Large diffs are not rendered by default.

62 changes: 59 additions & 3 deletions NAMESPACE
Original file line number Diff line number Diff line change
Expand Up @@ -5,47 +5,103 @@ export(create_new_article_entry)
export(create_new_model_entry)
export(create_new_outbreak_entry)
export(create_new_parameter_entry)
export(data_forest_plots)
export(data_outbreak_table)
export(data_param_table)
export(date_start)
export(delay_table)
export(forest_plot_R)
export(forest_plot_delay)
export(forest_plot_mutations)
export(forest_plot_r)
export(forest_plot_severity)
export(get_available_table_field_options)
export(load_data)
export(get_table_field_options)
export(load_epidata)
export(outbreak_table)
export(quality_assessment_plots)
export(risk_table)
export(sero_table)
importFrom(dplyr,"%>%")
importFrom(dplyr,across)
importFrom(dplyr,arrange)
importFrom(dplyr,case_when)
importFrom(dplyr,count)
importFrom(dplyr,desc)
importFrom(dplyr,distinct)
importFrom(dplyr,everything)
importFrom(dplyr,filter)
importFrom(dplyr,group_by)
importFrom(dplyr,if_else)
importFrom(dplyr,left_join)
importFrom(dplyr,mutate)
importFrom(dplyr,n)
importFrom(dplyr,row_number)
importFrom(dplyr,rowwise)
importFrom(dplyr,select)
importFrom(dplyr,starts_with)
importFrom(dplyr,summarise)
importFrom(dplyr,summarize)
importFrom(dplyr,ungroup)
importFrom(flextable,add_footer_lines)
importFrom(flextable,autofit)
importFrom(flextable,bold)
importFrom(flextable,border_remove)
importFrom(flextable,flextable)
importFrom(flextable,fontsize)
importFrom(flextable,hline)
importFrom(flextable,set_flextable_defaults)
importFrom(flextable,theme_booktabs)
importFrom(flextable,vline)
importFrom(ggplot2,aes)
importFrom(ggplot2,coord_flip)
importFrom(ggplot2,element_text)
importFrom(ggplot2,geom_bar)
importFrom(ggplot2,geom_errorbar)
importFrom(ggplot2,geom_point)
importFrom(ggplot2,geom_segment)
importFrom(ggplot2,geom_smooth)
importFrom(ggplot2,geom_vline)
importFrom(ggplot2,ggplot)
importFrom(ggplot2,ggplot_add)
importFrom(ggplot2,guide_legend)
importFrom(ggplot2,guides)
importFrom(ggplot2,labs)
importFrom(ggplot2,position_dodge)
importFrom(ggplot2,scale_color_brewer)
importFrom(ggplot2,scale_colour_manual)
importFrom(ggplot2,scale_fill_manual)
importFrom(ggplot2,scale_linetype_manual)
importFrom(ggplot2,scale_shape_manual)
importFrom(ggplot2,scale_x_continuous)
importFrom(ggplot2,scale_y_discrete)
importFrom(ggplot2,theme)
importFrom(ggplot2,theme_bw)
importFrom(ggplot2,xlab)
importFrom(ggplot2,xlim)
importFrom(ggplot2,ylab)
importFrom(officer,fp_border)
importFrom(patchwork,wrap_plots)
importFrom(readr,read_csv)
importFrom(stats,median)
importFrom(stats,na.omit)
importFrom(stats,reorder)
importFrom(stats,setNames)
importFrom(stringr,str_replace)
importFrom(stringr,str_replace_all)
importFrom(stringr,str_split)
importFrom(stringr,str_split_fixed)
importFrom(stringr,str_starts)
importFrom(stringr,str_to_sentence)
importFrom(stringr,str_to_title)
importFrom(stringr,str_wrap)
importFrom(tibble,as_tibble)
importFrom(tibble,as_tibble_row)
importFrom(tidyr,pivot_longer)
importFrom(tidyr,pivot_wider)
importFrom(tidyr,replace_na)
importFrom(tm,removeNumbers)
importFrom(utils,globalVariables)
importFrom(utils,write.csv)
importFrom(validate,"%vin%")
importFrom(validate,confront)
importFrom(validate,summary)
importFrom(validate,validator)
80 changes: 53 additions & 27 deletions R/append_new_entry_to_table.R
Original file line number Diff line number Diff line change
@@ -1,41 +1,67 @@
#' append_new_entry_to_table
#' Append new entry to article, outbreak, model, or parameter table
#'
#' NOTE: This can only be run in a locally cloned repository
#'
#' @param pathogen name of pathogen
#' @param table_type
#' @param new_row all the required details for the new row
#' @param table_type table to be updated, either "article", "outbreak", "model"
#' or "parameter"
#' @param new_row the new row of data to be added to the table, this can be
#' generated using either create_new_article_entry(), create_new_model_entry(),
#' create_new_outbreak_entry(), or create_new_parameter_entry() (must contain
#' the same number of variables as the table to be updated)
#' @param validate check if the new row to be added passes minimum criteria
#' @param write_table write appended table
#' @return Null (updates table)
#' @examples
#' (either TRUE or FALSE)
#' @param write_table write appended table (either TRUE or FALSE). If TRUE the
#' new table will be written as a csv file in the data folder of a locally
#' cloned repository.
#' @param vignette_prepend string to allow loading data in vignettes
#' @return table with new entry (if write_table = TRUE the relevant table in a
#' locally cloned repository is updated)
#' @importFrom utils write.csv
#'
#' @export
append_new_entry_to_table <- function(pathogen=NA, table_type=NA, new_row=NA, validate = TRUE, write_table = FALSE, vignette_prepend = "")
{
old_table <- load_data(table_type =table_type,pathogen = pathogen, vignette_prepend = vignette_prepend)
append_new_entry_to_table <- function(pathogen = NA,
table_type = NA,
new_row = NA,
validate = TRUE,
write_table = FALSE,
vignette_prepend = "") {

old_table <- load_epidata(table_type = table_type,
pathogen = pathogen,
vignette_prepend = vignette_prepend)

# check that schemas match
if(!((sum( colnames(new_row) == colnames(old_table) ) / length( colnames(new_row )) ) == 1))
stop('Schemas of new row and data sets do not match')
if (!((sum(colnames(new_row) == colnames(old_table)) /
length(colnames(new_row))) == 1))
stop("Schemas of new row and data sets do not match")

# check that the entry doesn't exist already -- create same for other table types as well
if( table_type=='article' & new_row$article_id %in% old_table$article_id)
stop('article_id already exists in the data set')
if (table_type == "article" && new_row$article_id %in% old_table$article_id)
stop("article_id already exists in the data set")

new_table <- rbind(old_table,new_row)
new_table <- rbind(old_table, new_row)

if(validate)
{
if(table_type=='article') # if not valid it will fail here.
create_new_article_entry(pathogen = pathogen, new_article = new_row %>% as.vector(), vignette_prepend = vignette_prepend)
if(table_type=='outbreak') # if not valid it will fail here.
create_new_outbreak_entry(pathogen = pathogen, new_outbreak = new_row %>% as.vector(), vignette_prepend = vignette_prepend)
if(table_type=='model') # if not valid it will fail here.
create_new_model_entry(pathogen = pathogen, new_model = new_row %>% as.vector(), vignette_prepend = vignette_prepend)
if(table_type=='parameter') # if not valid it will fail here.
create_new_parameter_entry(pathogen = pathogen, new_param = new_row %>% as.vector(), vignette_prepend = vignette_prepend)
if (validate) {
if (table_type == "article")
create_new_article_entry(pathogen = pathogen,
new_article = new_row %>% as.vector(),
vignette_prepend = vignette_prepend)
if (table_type == "outbreak")
create_new_outbreak_entry(pathogen = pathogen,
new_outbreak = new_row %>% as.vector(),
vignette_prepend = vignette_prepend)
if (table_type == "model")
create_new_model_entry(pathogen = pathogen,
new_model = new_row %>% as.vector(),
vignette_prepend = vignette_prepend)
if (table_type == "parameter")
create_new_parameter_entry(pathogen = pathogen,
new_param = new_row %>% as.vector(),
vignette_prepend = vignette_prepend)
}

if(write_table) write.csv(new_table,paste0(vignette_prepend, 'data/', pathogen, '_', table_type, '.csv'))
if (write_table)
write.csv(new_table, paste0(vignette_prepend, "extdata/", pathogen, "_",
table_type, ".csv"))

return(new_table)
}
Loading
Loading