2017-11-05 2 views
0

ich baut den folgenden Datenrahmen:Wie eine Konfusionsmatrix für einen Datenrahmen

v1 v2 v3 v4 v5 
0 t 1 12 N/A 
1 t 0 34 N/A 
2 t 1 45 N/A 
5 f 0 76 N/A 
12 f 0 98 N/A 
45 t 1 45 M 

ich die folgende Verwirrung Matrix auf den beiden Säulen v2 und v3 in die Lage sein will, zu konstruieren:

t | f 
0 1  2 
1 3  0 

Was ist die eleganteste Art und Weise diese

Antwort

3

in R zu tun Dies ist leicht getan mit table ...

table(df$v3,df$v2) 

    f t 
    0 2 1 
    1 0 3 
1

Verwenden Sie xtabs. Z. B. siehe dieses Beispiel

> set.seed(100) 
> n <- 20 
> x1 <- runif(n) > .5 
> x2 <- ifelse(runif(n) > .75, x1, runif(n) > .5) 
> dat <- data.frame(x1, x2) 
> head(dat) 
    x1 x2 
1 FALSE FALSE 
2 FALSE TRUE 
3 TRUE TRUE 
4 FALSE TRUE 
5 FALSE TRUE 
6 FALSE FALSE 
> xtabs(~ x1 + x2, dat) 
     x2 
x1  FALSE TRUE 
    FALSE  9 3 
    TRUE  3 5 
Verwandte Themen