R中的表函数

时间:2015-03-03 13:13:12

标签: r

我正在使用R中的表函数在R中创建一个包含两个变量的表。 我有像这样的data.frame

mytable

V1    V2    V3
1     a     c
2     c     d
3     b     b
4     d     a
5     d     c

当我使用表函数表(mytable $ V2,mytable $ V3)时,我得到以下内容

     a    b    c    d
a    0    0    1    0
b    0    1    0    0 
c    0    0    0    1
d    1    0    1    0    

现在我真的想把情况'a-b'和'b-a'一样对待。或'b-c'与'c-b'相同。因此,我希望有一张桌子,对角线上方的所有东西都是空的。他需要将对角线上方的值添加到对角线下方的值。我怎么能在R?中做到这一点?

此外,我希望将此表格表示为热图,我通常使用ggplot2。但我不知道这是否适用于在对角线上方具有空值的表格。

1 个答案:

答案 0 :(得分:3)

以下是手动修复方法:

tab <- table(DF[,2:3])
tab[lower.tri(tab)] <- tab[lower.tri(tab)] + tab[upper.tri(tab)]
tab[upper.tri(tab)] <- NA
#  V3
#V2   a  b  c  d
#  a  0         
#  b  0  1      
#  c  1  0  0   
#  d  1  0  2  0