理解R中多个虚拟变量之间的关系

时间:2018-02-28 17:34:17

标签: r regression frequency-analysis

我有以下数据框:

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。我尝试计算频率,但是对于两个以上的变量来说它变得非常不方便。

为了给你更多的背景,假人代表在超市购买的不同产品。我试图看看购买一种产品(例如西红柿)的人是否更有可能购买不同类型的产品(生菜等)。

谢谢!

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表现得相似。