了解 R 中多个虚拟变量之间的关系
Understand relationship between multiple dummy variables in R
我有以下数据框:
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 和 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 表现相似。
我有以下数据框:
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 和 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 表现相似。