我正在尝试使用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'不在其中一个向量中。我知道我可以将它操作成一个数组并添加一行零,但我想知道是否有更简单的方法来自动执行此操作,当变量可能跨越数百(稀疏) )整数值。
答案 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)