我有以下数据框:
id dummy1 dummy2 dummy3 dummy4
2 1 1 1 0
3 0 0 0 1
4 1 1 1 0
5 0 0 1 0
我试图想出一种方法,看看某些虚拟变量是否比其他变量更频繁地出现。在此示例中,如果dummy1为1,则所有其他虚拟对象也更可能为1。我尝试计算频率,但是对于两个以上的变量来说它变得非常不方便。
为了给你更多的背景,假人代表在超市购买的不同产品。我试图看看购买一种产品(例如西红柿)的人是否更有可能购买不同类型的产品(生菜等)。
谢谢!
答案 0 :(得分:0)
我认为您正在寻找案例中变量之间的相关性。这是最简单的方法,它给出一个-1到1,1之间的数字,1意味着两个变量是相同的(-1它们表现相反),0表示它们是不相关的,因此它们表现独立。
有一个功能,它是cor
。您可以直接在data.frame上使用它:
plouf <- read.table(text = "id dummy1 dummy2 dummy3 dummy4
2 1 1 1 0
3 0 0 0 1
4 1 1 1 0
5 0 0 1 0",header = T)
cor(plouf[,-1])
dummy1 dummy2 dummy3 dummy4
dummy1 1.0000000 1.0000000 0.5773503 -0.5773503
dummy2 1.0000000 1.0000000 0.5773503 -0.5773503
dummy3 0.5773503 0.5773503 1.0000000 -1.0000000
dummy4 -0.5773503 -0.5773503 -1.0000000 1.0000000
这里dummy1和dummy2是相同的(相关性等于1),而dummy4 / dummy1往往表现为相反的dummy1 / dummy3和dummy2 / dummy3 tneds表现得相似。