File size: 944 Bytes
d2a8669
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
# FairAdapt called from R
wrapper <- function(train_data, test_data, adj_mat, res_vars = NULL, prot_attr,
    outcome) {

    prot_attr <- gsub("-", ".", prot_attr)
    outcome <- gsub("-", ".", outcome)

    train_data <- as.data.frame(
        lapply(train_data, function(x) {
            if (is.ordered(x)) class(x) <- "factor"
            x
        })
    )

    test_data <- as.data.frame(
        lapply(test_data, function(x) {
            if (is.ordered(x)) class(x) <- "factor"
            x
        })
    )

    adj.mat <- as.matrix(adj_mat)
    rownames(adj.mat) <- colnames(adj.mat) <- names(train_data)

    formula_adult <- as.formula(paste(outcome, "~ ."))
    L <- fairadapt::fairadapt(
        formula = formula_adult,
        train.data = train_data,
        test.data = test_data,
        adj.mat = adj.mat,
        prot.attr = prot_attr,
        res.vars = res_vars
    )

    names(L) <- c("train", "test")
    return(L)
}