具有因子名称而不是计数的列联表

时间:2016-06-09 11:45:17

标签: r xtable

我有一个包含3列的数据框。第一个包含我的类别的名称,第二个(q2)和第三个(q3)列包含其他因素。 ES:

q1 q2 q3
A  w  y
G  x  x
F  y  z

我正在使用

t1 <- xtabs(~q2+q3, data=db)

创建一个列联表并知道有多少个组合类别。

如何在itersection单元格中获取q1列中的因子名称?

     x y z
   w 0 1 0
   x 1 0 0
   y 0 0 1

在示例中,我想要A,G或F.

而不是1

1 个答案:

答案 0 :(得分:0)

选项是使用q1t1作为索引,将q2分配给q3

> dn <- lapply(db[2:3], levels)
> t1 <- array(NA, lengths(dn), dn)
> t1[cbind(db$q2, db$q3)] <- levels(db$q1)[db$q1]
> t1
   q3
q2  x   y   z  
  w NA  "A" NA 
  x "G" NA  NA 
  y NA  NA  "F"