Open Triamus opened 6 years ago
fn_print_xtable <- function(dt, caption_txt) { print.xtable( xtable(dt, caption = caption_txt), caption.placement = 'top', tabular.environment='longtable', add.to.row = list(pos = list(0), command = "\hline \endhead "), format.args = list(big.mark = ",", decimal.mark = "."), include.rownames = F) }
scale <- 1*10^6
make_num <- c("some_metric") make_num_fn <- function(x) as.numeric(gsub(",", "", x)) prod[, (make_num) := lapply(.SD, make_num_fn), .SDcols = make_num]
setequal(colnames(test), colnames(prod))
setdiff(colnames(test), colnames(prod))
setdiff(colnames(prod), colnames(test))
setcolorder(test, names(prod)) all.equal(target = prod, current = test) identical(x = prod, y = test)
compare(model = prod, comparison = test, equal = T)
a <- test[ , list(rwa_test = sum(rwab2epe, na.rm = T), ead_test = sum(eadb2epe, na.rm = T)), by = c("flgdata")][order(flgdata)]
b <- prod[ , list(rwa_prod = sum(rwab2epe, na.rm = T), ead_prod = sum(eadb2epe, na.rm = T)), by = c("flgdata")][order(flgdata)]
z <- cbind(a, b[, .(rwa_prod, ead_prod)]) z[, := (rwa_delta = rwa_prod - rwa_test, ead_delta = ead_prod - ead_test)]
:=
numeric_vars <- c("rwa_test", "ead_test", "rwa_prod", "ead_prod", "rwa_delta", "ead_delta")
z[, (numeric_vars) := lapply(.SD, function(x) x/scale), .SDcols = numeric_vars]
fn_print_xtable(dt = z, caption_txt = "data by data flag")
function for nicer printing
fn_print_xtable <- function(dt, caption_txt) { print.xtable( xtable(dt, caption = caption_txt), caption.placement = 'top', tabular.environment='longtable', add.to.row = list(pos = list(0), command = "\hline \endhead "), format.args = list(big.mark = ",", decimal.mark = "."), include.rownames = F) }
scale
scale <- 1*10^6
make_num <- c("some_metric") make_num_fn <- function(x) as.numeric(gsub(",", "", x)) prod[, (make_num) := lapply(.SD, make_num_fn), .SDcols = make_num]
setequal(colnames(test), colnames(prod))
vars in test but not prod
setdiff(colnames(test), colnames(prod))
vars in prod but not test
setdiff(colnames(prod), colnames(test))
setcolorder(test, names(prod)) all.equal(target = prod, current = test) identical(x = prod, y = test)
also trying compare library
compare(model = prod, comparison = test, equal = T)
function for nicer printing
fn_print_xtable <- function(dt, caption_txt) { print.xtable( xtable(dt, caption = caption_txt), caption.placement = 'top', tabular.environment='longtable', add.to.row = list(pos = list(0), command = "\hline \endhead "), format.args = list(big.mark = ",", decimal.mark = "."), include.rownames = F) }
scale
scale <- 1*10^6
a <- test[ , list(rwa_test = sum(rwab2epe, na.rm = T), ead_test = sum(eadb2epe, na.rm = T)), by = c("flgdata")][order(flgdata)]
b <- prod[ , list(rwa_prod = sum(rwab2epe, na.rm = T), ead_prod = sum(eadb2epe, na.rm = T)), by = c("flgdata")][order(flgdata)]
z <- cbind(a, b[, .(rwa_prod, ead_prod)]) z[,
:=
(rwa_delta = rwa_prod - rwa_test, ead_delta = ead_prod - ead_test)]numeric_vars <- c("rwa_test", "ead_test", "rwa_prod", "ead_prod", "rwa_delta", "ead_delta")
z[, (numeric_vars) := lapply(.SD, function(x) x/scale), .SDcols = numeric_vars]
fn_print_xtable(dt = z, caption_txt = "data by data flag")