Triamus / play

play repo for experiments (mainly with git)
1 stars 0 forks source link

testing framework (table comparison) #12

Open Triamus opened 6 years ago

Triamus commented 6 years ago

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")