1

我有一些看起来像这样的数据:

# A tibble: 10 x 7
   XGBoost   Logistic  NN        RandomForest SVMRadial SVMLinear LightGBM 
   <chr>     <chr>     <chr>     <chr>        <chr>     <chr>     <chr>    
 1 Correct   Correct   Correct   Correct      Correct   Correct   Correct  
 2 Correct   Correct   Correct   Correct      Correct   Correct   Correct

我想为每个列的组合制作一个表格。我可以做类似的事情:

combn(d, 2, function(x){
  table(x[[1]],
        x[[2]])
})

这给了我类似的东西:

, , 1

     [,1] [,2]
[1,]    8    0
[2,]    0    2

, , 2

     [,1] [,2]
[1,]    8    0
[2,]    0    2

, , 3

     [,1] [,2]
[1,]    8    0
[2,]    0    2

但是,我不知道这些组合来自哪个表。我可以单独执行以下操作:

table(d$XGBoost, d$Logistic) %>% 
  matrix(
    nrow = 2,
    dimnames = list("XGBoost" = c("Correct", "Incorrect"),
                    "Logistic" = c("Correct", "Incorrect"))
  )

这使:

           Logistic
XGBoost     Correct Incorrect
  Correct         8         0
  Incorrect       0         2

哪个信息更丰富。

如何应用该combn()函数并获取每个组合名称,以便表格提供更多信息?

数据:

d <- structure(list(XGBoost = c("Correct", "Correct", "Correct", "Correct", 
"Correct", "Correct", "Incorrect", "Incorrect", "Correct", "Correct"
), Logistic = c("Correct", "Correct", "Correct", "Correct", "Correct", 
"Correct", "Incorrect", "Incorrect", "Correct", "Correct"), NN = c("Correct", 
"Correct", "Correct", "Correct", "Correct", "Correct", "Incorrect", 
"Incorrect", "Correct", "Correct"), RandomForest = c("Correct", 
"Correct", "Correct", "Correct", "Correct", "Correct", "Incorrect", 
"Incorrect", "Correct", "Correct"), SVMRadial = c("Correct", 
"Correct", "Correct", "Correct", "Correct", "Correct", "Incorrect", 
"Incorrect", "Correct", "Correct"), SVMLinear = c("Correct", 
"Correct", "Correct", "Correct", "Correct", "Correct", "Incorrect", 
"Incorrect", "Correct", "Correct"), LightGBM = c("Correct", "Correct", 
"Correct", "Correct", "Correct", "Correct", "Incorrect", "Incorrect", 
"Correct", "Correct")), row.names = c(NA, -10L), class = c("tbl_df", 
"tbl", "data.frame"))
4

1 回答 1

5

也许尝试

combn(d, 2, table, simplify = FALSE)
于 2020-10-05T19:32:17.163 回答