if ("pacman" %in% rownames(installed.packages()) == FALSE) { install.packages("pacman") } library(pacman) p_load( tidyverse, purrr, glue, janitor, cli, here, httr, xml2, jsonlite, data.table, arrow, duckdb, DBI, dbplyr ) # Define relative path if aurelien or thomas # # Path conventions: # - data_path : final outputs only (DuckDB, parquet exports) # - raw_data_path : primary inputs (XML fulltexts, external sources) # - xml_data_path : subfolder of raw_data_path for Elsevier XML files # - intermediate_data_path : intermediate processing files (per-journal RDS, journal lists) # - wos_data_path : Web of Science data (external, read-only) # - econlit_data_path : EconLit data (external, read-only) if (Sys.info()[["user"]] %in% c("thom", "admin")) { data_path <- "C:/cloud/data_not_clouded/elsevier/" raw_data_path <- "C:/cloud/data_not_clouded/elsevier/raw_data/" xml_data_path <- "C:/cloud/data_not_clouded/elsevier/raw_data/fulltexts_xml/" intermediate_data_path <- "C:/cloud/data_not_clouded/elsevier/intermediate_data/" wos_data_path <- "C:/cloud/data_not_clouded/wos/" # Set your Elsevier API key # api_key <- readline("Give your api_key here or store it in a text file and provide the path to it: ") # api_key <- read_lines("C:/Users/admin/Documents/elsevier_api_key.txt") for (p in c(intermediate_data_path)) { if (!dir.exists(p)) { message(glue("Creating directory: {p}")) dir.create(p, recursive = TRUE, showWarnings = TRUE) } } } else if (Sys.info()[["user"]] %in% c("agoutsmedt", "aurelien")) { data_path <- "/home/agoutsmedt/Nextcloud/Research/data/elsevier/" intermediate_data_path <- "/home/agoutsmedt/data/elsevier/intermediate_data/" wos_data_path <- "/home/agoutsmedt/data/wos/" econlit_data_path <- "/home/agoutsmedt/data/econlit/" elsevier_xml_path <- "/home/agoutsmedt/data/elsevier/fulltexts_xml/" # Set your Elsevier API key api_key <- read_lines(file.path(data_path, "elsevier_api_key.txt")) for (p in c(intermediate_data_path)) { if (!dir.exists(p)) { message(glue("Creating directory: {p}")) dir.create(p, recursive = TRUE, showWarnings = TRUE) } } } else { stop( "User not recognized. Check the path definitions in paths_and_packages.R" ) }