我有一些看起来像这样的数据:
# 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"))