在R中创建一个列或行中没有值的2乘2表

在R中创建一个列或行中没有值的2乘2表,r,R,我需要将数据表化为一个2*2表,但是,由于某些单元格中没有值,R中的table命令根据数据不提供列或行。例如: a<-matrix(c(0,1,1,1,1,1,1,1),4,2) table(a[,1],a[,2]) 然而,我需要它像 0 1 0 0 1 1 0 3 有什么建议吗?问题是矩阵a包含数字,而带有数字的R没有机会知道应该显示哪些列。解决办法虽然简单。您必须将数据转换为一个因子,在该因子中提供所有潜在值: table(factor(a[,1], levels = u

我需要将数据表化为一个2*2表,但是,由于某些单元格中没有值,R中的table命令根据数据不提供列或行。例如:

a<-matrix(c(0,1,1,1,1,1,1,1),4,2)
table(a[,1],a[,2])
然而,我需要它像

  0  1
0 0  1
1 0  3

有什么建议吗?

问题是矩阵
a
包含数字,而带有数字的
R
没有机会知道应该显示哪些列。解决办法虽然简单。您必须将数据转换为一个因子,在该因子中提供所有潜在值:

table(factor(a[,1], levels = unique(c(a))),factor(a[,2], levels = unique(c(a))))
#   0 1
# 0 0 1
# 1 0 3

问题是矩阵
a
包含数字,而带有数字
R
的矩阵没有机会知道应该显示哪些列。解决办法虽然简单。您必须将数据转换为一个因子,在该因子中提供所有潜在值:

table(factor(a[,1], levels = unique(c(a))),factor(a[,2], levels = unique(c(a))))
#   0 1
# 0 0 1
# 1 0 3