【问题标题】:Understand relationship between multiple dummy variables in R了解 R 中多个虚拟变量之间的关系
【发布时间】:2018-02-28 17:34:17
【问题描述】:

我有以下数据框:

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

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

谢谢!

【问题讨论】:

  • “我现在不是在寻找特定的代码,只是关于包/回归模型等的想法。” - 这是关于stackoverflow的题外话,见stackoverflow.com/help/on-topic

标签: r regression frequency-analysis


【解决方案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 的行为相似。

【讨论】:

  • 谢谢!这正是我想要的!在我的示例中,我有大约 50 个假人,它们将根据 ~1k 的观察结果生成一个 50 x 50 的矩阵。你认为 cor 能很好地处理这么多数据吗?另外,有没有办法看到假人之间更深层次的联系:例如,如果 dummy1 和 dummy2 都是 1,那么 dummy3 更有可能是 1。
  • cor 可以很好地处理您的数据。对于更深层次的连接,您可以创建一个变量 dumm1 == 1 &amp; dummy2 == 1 并进行关联
猜你喜欢
  • 1970-01-01
  • 2021-01-17
  • 1970-01-01
  • 2015-10-23
  • 1970-01-01
  • 2017-08-15
  • 1970-01-01
  • 1970-01-01
  • 2016-12-08
相关资源
最近更新 更多