在R中创建列联表的问题

问题描述 投票:0回答:1

我正在使用ISLR软件包进行统计。我正在使用OJ数据集。我正在尝试为购买人口列和特殊价格列列列权衡表。

我正在尝试以特殊价格出售CH的可能性。

到目前为止是我的代码。

library(ISLR)
CH <- table(OJ[OJ$Purchase == 'CH', "SpecialCH"])
MM <- table(OJ[OJ$Purchase == 'MM', "SpecialMM"])
table (MM, CH)

我得到的输出有点奇怪。

     CH
MM    121 532
  101   1   0
  316   0   1

我试图找到赔率,并最终应用McNemar的检验。但是我无法生成列联表。我可以手工完成,但需要在R中执行。

r statistics data-science
1个回答
0
投票

[您尝试使用3个变量,但是列联表仅使用2。我建议使用xtabs,因为公式方法可以节省一些键入内容,并且可以更好地标记表:

xtabs(~SpecialMM+SpecialCH, OJ)  # Only 4 weeks are both on special
#          SpecialCH
# SpecialMM   0   1
#         0 743 154
#         1 169   4 
xtabs(~Purchase+SpecialCH, OJ)   # When CH is on special ca 75% CH
#         SpecialCH
# Purchase   0   1
#       CH 532 121
#       MM 380  37
# xtabs(~Purchase+SpecialMM, OJ)  # When MM is on special ca 58% MM
#         SpecialMM
# Purchase   0   1
#       CH 581  72
#       MM 316 101
© www.soinside.com 2019 - 2024. All rights reserved.