1
我DATAS:重塑矩阵的加权变量
datas=structure(list(Id = 1:4, Product1 = structure(c(3L, 2L, 2L, 1L
), .Label = c("1,2,5", "1,3", "5"), class = "factor"), Product2 = structure(c(4L,
3L, 1L, 2L), .Label = c("A", "A,B,E", "B,D", "D"), class = "factor")), .Names = c("Id",
"Product1", "Product2"), class = "data.frame", row.names = c(NA,
-4L))
这给视觉(人会买两个产品,每个产品的或几个原因有关产品1(原因= 1,2,3,4, 5)和产物2(原因= A,B,C,d,e)和其原因可以combinated
Id Product1 Product2
1 5 D
2 1,3 B,D
3 1,3 A
4 1,2,5 A,B,E
我想如下
对于每个ID computate重塑它:
Id= 1
A B C D E
1 0 0 0 0 0
2 0 0 0 0 0
3 0 0 0 0 0
4 0 0 0 0 0
5 0 0 0 1 0
Id= 2 : here 0.25 because we have B1,B3,D1,D3 so 1/4 for each one
A B C D E
1 0 0,25 0 0,25 0
2 0 0 0 0 0
3 0 0,25 0 0,25 0
4 0 0 0 0 0
5 0 0 0 1 0
on so on Id = 4, we have : a1,a2,a5,b1,b2,b5,e1,e2,e5, so 1/9 for each one.
A B C D E
1 0,11+0,5 0,11+0,25 0 0,25 0,11
2 0,11+0 0,11+0 0 0 0,11
3 0,5 0,25 0 0,25 0
4 0 0 0 0 0
5 0,11+0 0,11+0 0 1 0,11
如何轻松地,或者我应该计算每个矩阵,并在每次迭代中求和?
非常感谢!
非常感谢,它完美的作品,我是这样一个循环下的一个循环的deli妄,你的代码是完美的,你的方法比我的要快。再次感谢。 – ranell