在SPSS中,使用因子(或值)作为表标题很容易(相对)创建带有多个变量的交叉表。因此,类似以下内容(组成数据等)。 Q1,Q2和Q3每个人的每个人的得分分别为1、2或3。我只是将这些留作数字,但它们可能是因素,似乎都无法帮助解决问题。
1(非常)2(很少)3(从不)
Q1。喜欢12 15 13
Q2。推荐22 11 10
Q3。用过的22 12 9
在SPSS中,甚至可以请求行,列或总百分比。
我已经尝试了来自gmodels的table(),ftable(),xtab(),CrossTable()和来自descr的CrossTable(),但是这些都不能处理(afaik)多个变量。他们似乎主要处理与另一个变量交叉的1个变量,而第3个创建图层。
是否有一个包含一些很好的交叉制表/表格示例的软件包,我可以用它解决这个问题?我确定我缺少一些简单的东西,因此感谢您指出我错过的内容。也许我必须将每一行生成为单独的列表,然后制作一个数据框并打印该数据框?
更新:我现在在catspec包中发现了ctab(),它也在正确的轨道上。有趣的是,R没有与SPSS中的Ctables保持一致,后者基本上是“制表”工具,与用于调查研究的旧制表工具相同。 ctab()正在尝试,并且是令人钦佩的第一步……但是您仍然无法使用此表(上方)。
最佳答案
Hmisc
程序包具有summary.formula
函数,可以根据您的需要执行某些操作。它非常灵活,请查看帮助页面中的示例,但这是解决您的问题的应用程序:
library(Hmisc)
dd <- data.frame(Q1=sample(1:3, 20, replace=T), Q2=sample(1:3, 20, replace=T),
Q3=sample(1:3, 20, replace=T)) #fake data
summary(~Q1+Q2+Q3, data=dd, fun=table)
得到以下结果:
Descriptive Statistics (N=20)
+------+-------+
| | |
+------+-------+
|Q1 : 1|25% (5)|
+------+-------+
| 2 |45% (9)|
+------+-------+
| 3 |30% (6)|
+------+-------+
|Q2 : 1|30% (6)|
+------+-------+
| 2 |35% (7)|
+------+-------+
| 3 |35% (7)|
+------+-------+
|Q3 : 1|35% (7)|
+------+-------+
| 2 |30% (6)|
+------+-------+
| 3 |35% (7)|
+------+-------+
可能的值以行形式给出,因为它具有针对不同变量的不同值集的灵活性。您可能可以使用函数参数(例如
method
和fun
)来获得另一个方向。
关于r - 具有多个项目的交叉表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2479689/