列联表是一个看起来像矩阵的交叉表。这些表可以具有相同数量的列和行。如果我们要使用基数R中的数据集创建列联表,则可以使用表函数。例如,如果我们要为mtcars数据的cyl和gear列创建列联表,则可以如以下示例1所示进行操作。
> head(mtcars)
输出结果
mpg cyl disp hp drat wt qsec vs am gear carb Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4 Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4 Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1 Hornet 4 Drive 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1 Hornet Sportabout 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2 Valiant 18.1 6 225 105 2.76 3.460 20.22 1 0 3 1
> table(mtcars$cyl,mtcars$gear)
输出结果
3 4 5 4 1 8 2 6 2 4 1 8 12 0 2
> table(mtcars$vs,mtcars$gear)
输出结果
3 4 5 0 12 2 4 1 3 10 1
> head(CO2)
输出结果
Plant Type Treatment conc uptake 1 Qn1 Quebec nonchilled 95 16.0 2 Qn1 Quebec nonchilled 175 30.4 3 Qn1 Quebec nonchilled 250 34.8 4 Qn1 Quebec nonchilled 350 37.2 5 Qn1 Quebec nonchilled 500 35.3 6 Qn1 Quebec nonchilled 675 39.2
> table(CO2$Plant,CO2$Type)
输出结果
Quebec Mississippi Qn1 7 0 Qn2 7 0 Qn3 7 0 Qc1 7 0 Qc3 7 0 Qc2 7 0 Mn3 0 7 Mn2 0 7 Mn1 0 7 Mc2 0 7 Mc3 0 7 Mc1 0 7
> head(npk,20)
输出结果
block N P K yield 1 1 0 1 1 49.5 2 1 1 1 0 62.8 3 1 0 0 0 46.8 4 1 1 0 1 57.0 5 2 1 0 0 59.8 6 2 1 1 1 58.5 7 2 0 0 1 55.5 8 2 0 1 0 56.0 9 3 0 1 0 62.8 10 3 1 1 1 55.8 11 3 1 0 0 69.5 12 3 0 0 1 55.0 13 4 1 0 0 62.0 14 4 1 1 1 48.8 15 4 0 0 1 45.5 16 4 0 1 0 44.2 17 5 1 1 0 52.0 18 5 0 0 0 51.5 19 5 1 0 1 49.8 20 5 0 1 1 48.8
> table(npk$N,npk$P)
输出结果
0 1 0 6 6 1 6 6
> table(npk$P,npk$K)
输出结果
0 1 0 6 6 1 6 6
> table(npk$P,npk$K)
输出结果
0 1 0 6 6 1 6 6