重塑看起来像相关矩阵的分类数据

时间:2016-04-19 08:39:29

标签: r matrix reshape r-corrplot

我有一个df:

cc pair_no
US   1
US   1
DE   2
UK   2
US   3
PL   3
US   4
US   4

我想创建一个矩阵,基本上计算每个国家/地区组合的对数:

    US  UK  PL DE
US  2
UK  0   0   
PL  1   0    0
DE  0   1    0   0

我尝试过使用但没有达到预期效果。

Table(df$cc,df$pair_no)

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:2)

您可以尝试:

table(data.frame(cc1=df$cc[c(TRUE,FALSE)],cc2=df$cc[c(FALSE,TRUE)]))
#    cc2
#cc1  DE PL UK US
#  DE  0  0  1  0
#  PL  0  0  0  0
#  UK  0  0  0  0
#  US  0  1  0  2

数据

df<-structure(list(cc = structure(c(4L, 4L, 1L, 3L, 4L, 2L, 4L, 4L
), .Label = c("DE", "PL", "UK", "US"), class = "factor"), pair_no = c(1L, 
1L, 2L, 2L, 3L, 3L, 4L, 4L)), .Names = c("cc", "pair_no"), class = "data.frame", row.names = c(NA, 
-8L))