如何在 r 中创建三向表(附示例)
三变量表是一种显示三个分类变量的频率的表。
在 R 中创建三条目表的最简单方法是使用xtabs()函数:
three_way <- xtabs(~var1 + var2 + var3, data=df)
如果想更紧凑地显示三路数组,可以使用ftable()函数:
three_way_ftable <- ftable(three_way)
注意: xtabs()和ftable()函数已集成到 R 数据库中。
以下示例展示了如何在实践中使用这些函数在 R 中创建三向表。
示例:如何在 R 中创建三向表
假设我们有以下数据框,其中包含有关各个篮球运动员的信息:
#create data frame df <- data. frame (team=c('A', 'A', 'A', 'A', 'A', 'B', 'B', 'B', 'B', 'B'), position=c('G', 'G', 'G', 'F', 'F', 'G', 'G', 'F', 'F', 'F'), starter=c('Yes', 'No', 'No', 'Yes', 'No', 'Yes', 'No', 'Yes', 'Yes', 'No'), points=c(30, 28, 24, 24, 28, 14, 16, 20, 34, 29)) #view data frame df team position starter points 1 AG Yes 30 2 AG No. 28 3 AG No. 24 4 AF Yes 24 5 AF No. 28 6 BG Yes 14 7 BG No. 16 8 BF Yes 20 9 BF Yes 34 10 BF No. 29
假设我们要创建一个三向表来基于三个变量显示玩家频率: team 、 position和starter 。
我们可以使用xtabs()函数来创建这个三向数组:
#create three-way table three_way <- xtabs(~ team + position + starter, data=df) #view three-way table three_way , , starter = No position team FG AT 12 B 1 1 , , starter = Yes position team FG At 1 1 B 2 1
结果的第一个表显示了起始变量等于 No. 的球队和位置的球员频率。
第二个表显示了起始变量等于“是”的球队和位置的球员频率。
如果需要,我们可以使用ftable()函数将这些数组“展平”为单个数组:
#convert table to ftable three_way_ftable <- ftable(three_way) #view ftable three_way_fttable starter No Yes team position AF 1 1 G 2 1 BF 1 2 G 1 1
生成的三变量表以“平面”格式显示三个变量的频率。
例如,我们可以看到:
- 有1 名球员属于 A 队,位置为 F,但不是首发球员。
- A队有1名球员,位置F,并且是首发球员。
- A队G位置有2名球员没有首发。
等等。
其他资源
以下教程解释了如何在 R 中执行其他常见任务: