replace_series()
allows to update a selection of series by the same-named
series from another workspace. When only the metadata differs, it is the
partial version of the update_metadata function.
Generic function to identify and return the duplicates in a list
replace_series(
ws_from,
ws_to,
selected_series,
mp_from_name,
mp_to_name,
verbose = TRUE
)
verif_duplicates(s)
verif_ws_duplicates(ws, verbose = TRUE)
The workspace containing the most up-to-date version of the selected_series series
The workspace to update
The vector containing the series-to-update's names.
The name of the SA-Processing containing the series to update (optional)
The name of the SA-Processing to update (optional)
A boolean to print indications on the processing status (optional and TRUE by default)
a list of characters
The workspace to scan
the updated workspace
If there are no duplicates, the function returns an empty data frame. Otherwise, it returns a data frame giving the name and number of duplicates found within the argument (list).
a list containing the name and number of occurences of duplicated SAPs and series
If the arguments mp_from_name
& mp_to_name
are unspecified, the
update will be performed using the workspaces' first SAProcessing.
If a series is specified in the selected_series vector is missing in a
workspace, no replacement will be performed and the function will return the
list of missing series. Otherwise, if all is well, the function returns the
workspace ws_to updated.
verif_duplicates()
identifies and returns the duplicates in a list
verif_ws_duplicates()
identifies duplicated series in a SAProcessing (SAP)
and SAProcessings in a workspace
library("RJDemetra")
dir_ws <- tempdir()
template_ws <- file.path(system.file("extdata", package = "rjdworkspace"),
"WS")
# Moving the WS in a temporary environment
copy_ws(
ws_name = "ws_output",
from = template_ws,
to = dir_ws
)
#> A workspace already exists in the destination folder.
#> It will be rewritten.
#> Successful copy!
copy_ws(
ws_name = "ws_input",
from = template_ws,
to = dir_ws
)
#> Successful copy!
path_ws_from <- file.path(dir_ws, "ws_input.xml")
path_ws_to <- file.path(dir_ws, "ws_output.xml")
ws_input <- load_workspace(path_ws_from)
ws_output <- load_workspace(path_ws_to)
replace_series(
ws_from = ws_input,
ws_to = ws_output,
mp_from_name = "SAProcessing-2",
mp_to_name = "SAProcessing-2",
selected_series = c("RF1039", "RF1041"),
verbose = TRUE
)
#> Warning: replace_series is replaced by transfer_series (with replace_series = TRUE).
#> Functionality remains the same.
#> The new function add new functionnalities.
#> Please adjust your code accordingly.
#> pos_mp_to=2pos_mp_from=2
#> Series 1
#> [1] "RF1039"
#> Done!
#> Series 2
#> [1] "RF1041"
#> Done!
#> Series updating done for the SAP SAProcessing-2 .
s <- c("a", "b", "a", "c", "a", "c")
print(rjdworkspace:::verif_duplicates(s))
#> name Freq
#> 1 a 3
#> 3 c 2