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

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

我有以下数据框:

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

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

谢谢!

r regression frequency-analysis
1个回答
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 / dummy3tneds以表现得类似。

© www.soinside.com 2019 - 2024. All rights reserved.