从带3个因素的平面5列数据框架在R中建立4-D列联表
我在R中有一个数据帧。 前两列是我的“是”和“否”频率总和 最后3列是分类因子,每列都有一个标签 我正试图用这种格式制作一个四维列联表,但我不知道从哪里开始这个过程 我的数据如下所示:从带3个因素的平面5列数据框架在R中建立4-D列联表,r,contingency,R,Contingency,我在R中有一个数据帧。 前两列是我的“是”和“否”频率总和 最后3列是分类因子,每列都有一个标签 我正试图用这种格式制作一个四维列联表,但我不知道从哪里开始这个过程 我的数据如下所示: Sold Unsold Label1 Label2 Label3 1 3330 32102 AdvancedShopper: Y TERR_USED: Non-TREE SPINOFF: N 2
Sold Unsold Label1 Label2 Label3
1 3330 32102 AdvancedShopper: Y TERR_USED: Non-TREE SPINOFF: N
2 2735 30691 HSEHLD_INCDT_BAND: 0 CLM_FREE_INCDT_CT: 0 SPINOFF: N
3 3350 29485 TERR_USED: Non-TREE CLM_FREE_INCDT_CT: 0 SPINOFF: N
4 3864 28657 SingleMulti: N TERR_USED: Non-TREE SPINOFF: N
5 2691 26355 TERR_USED: Non-TREE HSEHLD_INCDT_BAND: 0 CLM_FREE_INCDT_CT: 0
6 2396 25884 TERR_USED: Non-TREE HSEHLD_INCDT_BAND: 0 SPINOFF: N
7 2738 25172 Channel: Owned Agency TERR_USED: Non-TREE SPINOFF: N
8 3203 24425 TERR_USED: Non-TREE FULL_CVG_FLG: Y SPINOFF: N
9 2781 24163 SingleMulti: N CLM_FREE_INCDT_CT: 0 SPINOFF: N
10 1950 22371 AdvancedShopper: Y CLM_FREE_INCDT_CT: 0 SPINOFF: N
11 2644 21528 TERR_USED: Non-TREE FULL_CVG_FLG: N SPINOFF: N
12 2278 21736 Channel: Owned Agency SingleMulti: N SPINOFF: N
13 2324 21648 SingleMulti: N HSEHLD_INCDT_BAND: 0 CLM_FREE_INCDT_CT: 0
14 3108 20780 Channel: Prudent TERR_USED: Non-TREE SPINOFF: N
15 2491 21216 TERR_USED: Non-TREE PRIOR_BI: High SPINOFF: N
我从8列开始:3个类别+每个类别3个值+(1)编写的报价数量,(1)这些报价的销售数量=8。我连接了相应的类别和值字符串,以形成上面的三列。我有19个类别,每个类别都有自己的属性数,介于2到6之间。排序将按顺序排列各个列,但不一定形成3个类别的每个组合的4-D框,以及相应的是(已售出)和否(未售出)。平均销售率为11.4%,我想确定对这些四向偶然事件进行Chi2测试的频率,以确定从平均值中产生最强异常值的组合。我有80046个组合,基本上(19个选择3),这三个选择中的每一个都有各自的存储桶,例如,第1行来自16个单元格的四维表(2个attr x 2个attr x 2 attr x[Y,N]),第2行来自96个单元格的四维表(4个attr x 6个attr x 2 attr x[Y,N])。。。等等
我不确定如何将这些数据转换成某种格式,以便开始使用table()
和xtabs()
函数,从而使用chi2.test
。(我是否应该在连接类别和值之前返回到步骤?)
我不熟悉R,但我知道它应该更擅长为这些大型阵列编程。我没有访问SPSS的权限,但如果有更容易尝试的东西,我确实可以访问SAS(这也是新的)
任何方向都是很大的帮助
-------------------期望输出?答复:---------------------
嗯,table
命令从
Category 1 Category 2 Category 3 Y/N
…转换成列联表格式,对吗?但我已经有我的是和否的频率格式与三个类别列为这样
我是否需要更改为这种单实例格式并将80046行表分解为数百万行?或者,是否有一种方法可以启动
table
命令,其中“是”和“否”的频率已列在两列中?在这种情况下,您可以创建一个变量,给出“是”相对于“是+否”的百分比:看看这是否适用于您(假设您的数据是样本数据)
mytab mytab
,Label3=CLM\u FREE\u INCDT\u CT:0
标签2
Label1 CLM_FREE_INCDT_CT:0 FULL_CVG_FLG:N FULL_CVG_FLG:Y HSEHLD_INCDT_BAND:0 PRIOR_BI:High SingleMulti:N
高级购物者:Y 0.0000000.0000000.0000000.0000000.0000000.0000000.000000
渠道:自有代理0.0000000.0000000.0000000.0000000.0000000.0000000.000000
渠道:审慎0.0000000.0000000.0000000.0000000.0000000.0000000.000000
HSEHLD\u增量带:0.0000000.0000000.0000000.0000000.0000000.0000000.000000
SingleMulti:N 0.0000000.0000000.0000009.694644 0.0000000.000000
使用的TERR_:非树0.0000000.0000000.0000009.264615 0.0000000.000000
标签2
Label1所用土壤:非树木
高级购物者:Y 0.000000
渠道:自有机构0.000000
频道:0.000000
HSEHLD_增量段:0.000000
SingleMulti:N 0.000000
使用的土地:非树0.000000
,Label3=衍生产品:N
标签2
Label1 CLM_FREE_INCDT_CT:0 FULL_CVG_FLG:N FULL_CVG_FLG:Y HSEHLD_INCDT_BAND:0 PRIOR_BI:High SingleMulti:N
高级购物者:Y 8.017762 0.0000000.0000000.0000000.0000000.0000000.000000
渠道:自有代理0.0000000.0000000.0000000.0000009.486133
渠道:审慎0.0000000.0000000.0000000.0000000.0000000.0000000.000000
HSEHLD_增量带:0 8.182253 0.0000000.0000000.0000000.0000000.0000000.000000
SingleMulti:N 10.321407 0.0000000.0000000.0000000.0000000.0000000.000000
使用的土地:非树木10.202528 10.938276 11.593311 8.472419 10.507445 0.000000
标签2
Label1所用土壤:非树木
高级购物者:Y 9.398284
渠道:自有机构9.810104
频道:13.010717
HSEHLD_增量段:0.000000
单件多件:N 11.881553
使用的土地:非树0.000000
调用:xtabs(公式=(100*售出/(售出+未售出))~Label1+Label2+
标签3,数据=l)
表中的病例数:150.7815
因素数量:3
测试所有因素的独立性:
Chisq=412.2,df=71,p值=1.48e-49
卡方近似可能不正确
请将示例数据的预期输出发布到表中
函数的执行情况。。。但现在我必须与79x97x160表中的结果值进行交互。。。我还不知道该怎么做,如果卖出和未卖出报价的数量可以通过其他方式加权到这些Chi2值中……我不明白你在说什么;你们怎么有79*97*160张桌子?
mytab <- xtabs((100*Sold/(Sold+Unsold))~Label1+Label2+Label3, data=sample)
> mytab
, , Label3 = CLM_FREE_INCDT_CT: 0
Label2
Label1 CLM_FREE_INCDT_CT: 0 FULL_CVG_FLG: N FULL_CVG_FLG: Y HSEHLD_INCDT_BAND: 0 PRIOR_BI: High SingleMulti: N
AdvancedShopper: Y 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
Channel: Owned Agency 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
Channel: Prudent 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
HSEHLD_INCDT_BAND: 0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
SingleMulti: N 0.000000 0.000000 0.000000 9.694644 0.000000 0.000000
TERR_USED: Non-TREE 0.000000 0.000000 0.000000 9.264615 0.000000 0.000000
Label2
Label1 TERR_USED: Non-TREE
AdvancedShopper: Y 0.000000
Channel: Owned Agency 0.000000
Channel: Prudent 0.000000
HSEHLD_INCDT_BAND: 0 0.000000
SingleMulti: N 0.000000
TERR_USED: Non-TREE 0.000000
, , Label3 = SPINOFF: N
Label2
Label1 CLM_FREE_INCDT_CT: 0 FULL_CVG_FLG: N FULL_CVG_FLG: Y HSEHLD_INCDT_BAND: 0 PRIOR_BI: High SingleMulti: N
AdvancedShopper: Y 8.017762 0.000000 0.000000 0.000000 0.000000 0.000000
Channel: Owned Agency 0.000000 0.000000 0.000000 0.000000 0.000000 9.486133
Channel: Prudent 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
HSEHLD_INCDT_BAND: 0 8.182253 0.000000 0.000000 0.000000 0.000000 0.000000
SingleMulti: N 10.321407 0.000000 0.000000 0.000000 0.000000 0.000000
TERR_USED: Non-TREE 10.202528 10.938276 11.593311 8.472419 10.507445 0.000000
Label2
Label1 TERR_USED: Non-TREE
AdvancedShopper: Y 9.398284
Channel: Owned Agency 9.810104
Channel: Prudent 13.010717
HSEHLD_INCDT_BAND: 0 0.000000
SingleMulti: N 11.881553
TERR_USED: Non-TREE 0.000000
Call: xtabs(formula = (100 * Sold/(Sold + Unsold)) ~ Label1 + Label2 +
Label3, data = l)
Number of cases in table: 150.7815
Number of factors: 3
Test for independence of all factors:
Chisq = 412.2, df = 71, p-value = 1.48e-49
Chi-squared approximation may be incorrect