3

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

4

1 回答 1

5

一种方法是

a=factor(c(1,2,3,5), levels=1:5)
b=factor(c(1,1,2,3), levels=1:5)
table(a,b)
于 2016-12-06T02:04:02.943 回答