-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathstap_1.R
More file actions
74 lines (65 loc) · 2.72 KB
/
stap_1.R
File metadata and controls
74 lines (65 loc) · 2.72 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
# ****************************************************************************
# STAP 1: Echte waarden afleiden confrontatievariabelen d.m.v. foutlokalisatie
# ****************************************************************************
logger::log_info(glue::glue("Stap 1 ({selected_be_id}): Echte waarden afleiden confrontatievariabelen d.m.v. foutlokalisatie"))
data_interstat_i <- data_row[vars_in_rules_interstat]
rules_interstat_i <- rules_interstat_bron
# Verwijderen van alle regels die betrekking hebben op een bron die niet voorkomt in deze record
# Bij match_restrictions levert een error als er een regel is waarbij de variabele in de regel niet bestaat in de dataset
if (is.na(data_row["PS.exist"])) {
rules_interstat_i <- rules_interstat_i %>% dplyr::filter(!grepl("PS[.]", rule))
}
if (is.na(data_row["PCM.exist"])) {
rules_interstat_i <- rules_interstat_i %>% dplyr::filter(!grepl("PCM[.]", rule))
}
if (is.na(data_row["SFGO.exist"])) {
rules_interstat_i <- rules_interstat_i %>% dplyr::filter(!grepl("SFGO[.]", rule))
}
if (is.na(data_row["DRT.exist"])) {
rules_interstat_i <- rules_interstat_i %>% dplyr::filter(!grepl("DRT[.]", rule))
}
if (is.na(data_row["KICR.exist"])) {
rules_interstat_i <- rules_interstat_i %>% dplyr::filter(!grepl("KICR[.]", rule))
}
if (is.na(data_row["SWL.exist"])) {
rules_interstat_i <- rules_interstat_i %>% dplyr::filter(!grepl("SWL[.]", rule))
}
if (is.na(data_row["IH.exist"])) {
rules_interstat_i <- rules_interstat_i %>% dplyr::filter(!grepl("IH[.]", rule))
}
if (is.na(data_row["WIA.exist"])) {
rules_interstat_i <- rules_interstat_i %>% dplyr::filter(!grepl("WIA[.]", rule))
}
if (is.na(data_row["INIVA.exist"])) {
rules_interstat_i <- rules_interstat_i %>% dplyr::filter(!grepl("INIVA[.]", rule))
}
rules_interstat_i_obj <- validate::validator(.data = rules_interstat_i)
results_interstat <- tryCatch(
{
set.seed(42)
le_interstat <- errorlocate::locate_errors(
data = data_interstat_i,
x = rules_interstat_i_obj,
weight = weights_interstat_i,
timeout = TIMEOUT
)
re_interstat <- errorlocate::replace_errors(
data = data_interstat_i,
x = le_interstat
)
list(le_interstat = le_interstat, re_interstat = re_interstat)
},
error = function(e) {
logger::log_error(glue::glue("Fout in stap 1 bij BE_ID {selected_be_id}"))
logger::log_error(toString(e))
return(list(le_interstat = NULL, re_interstat = NULL))
}
)
if (is.null(results_interstat$re_interstat)) {
stap1_gelukt <- FALSE
stap2_gelukt <- FALSE
} else {
stap1_gelukt <- TRUE
results$le_interstat <- results_interstat$le_interstat
results$re_interstat <- results_interstat$re_interstat
}