在双向频率/列联表中包括零频率

时间:2016-12-06 02:01:02

标签: r frequency contingency

我正在尝试使用R中的table()为两个整数变量创建一个意外事件(频率)表,但表中的默认选项不包括每个变量范围内的所有值。例如:

a=c(1,2,3,5)
b=c(1,1,2,3)
table(a,b)

返回:

  1 2 3
1 1 0 0
2 1 0 0 
3 0 1 0
5 0 0 1

我希望它能给出:

  1 2 3
1 1 0 0
2 1 0 0 
3 0 1 0
4 0 0 0
5 0 0 1

这是一个简单的例子,其值为' 4'不在其中一个向量中。我知道我可以将它操作成一个数组并添加一行零,但我想知道是否有更简单的方法来自动执行此操作,当变量可能跨越数百(稀疏) )整数值。

1 个答案:

答案 0 :(得分:5)

获得此功能的方法是

a=factor(c(1,2,3,5), levels=1:5)
b=factor(c(1,1,2,3), levels=1:5)
table(a,b)