将虚拟变量转换为实际值

时间:2015-10-07 15:41:41

标签: r market-basket-analysis dummy-variable

我一直在研究以下列方式表示的数据集:

P1  P2  P3  P4  P5
0   2   1   0   1
0   1   0   0   0
0   0   0   3   0 
0   0   0   1   1
0   0   5   0   0
1   1   0   0   0

我正在尝试将其转换为R中的行,其中虚拟变量不为0,例如:

P2,P3,P5
P2
P4
P4,P5
P3
P1,P2

我尝试了以下内容:Recoding dummy variable to ordered factor但是,我没有收到多个项目。我很高兴生成一个没有任何列名的新事务表。我希望对生成的数据集进行市场购物篮分析。

由于

1 个答案:

答案 0 :(得分:2)

A <- matrix(c(0,1,0,1,
              2,0,0,3,
              1,2,1,5), nrow=3, ncol=4)
colnames(A) <- paste("P",1:4, sep = "")


apply(A, 1, function(x) { names(x[which(x!=0)]) })

输出一个列表:

[[1]]
[1] "P2" "P4"

[[2]]
[1] "P1" "P2" "P3" "P4"

[[3]]
[1] "P3" "P4"