【发布时间】:2018-09-26 03:21:44
【问题描述】:
我有一个名为“df”的数据框,如下所示:
ID Value
1 a
1 b
1 c
1 d
3 a
3 b
3 e
3 f
. .
. .
. .
我有一个这样填充零的矩阵:
a b c d e f
a x 0 0 0 0 0
b 0 x 0 0 0 0
c 0 0 x 0 0 0
d 0 0 0 x 0 0
e 0 0 0 0 x 0
f 0 0 0 0 0 x
然后我想像这样循环遍历数据框:
for each ID, for each value i, for each value j != i, matrix[i,j] += 1
所以对于每个 ID,对于每个值组合,我想将矩阵中的值加 1,结果是:
a b c d e f
a x 2 1 1 1 1
b 2 x 1 1 1 1
c 1 1 x 1 0 0
d 1 1 1 x 0 0
e 1 1 0 0 x 1
f 1 1 0 0 1 x
例如,[a,b] = 2,因为这种值组合发生在两个不同的 ID 上,而 [a,c] = 1,因为这种值组合仅在 ID = 1 时出现,而不在 ID 时出现= 3。
我怎样才能做到这一点?我已经制作了一个包含唯一 ID 的向量。
提前致谢。
【问题讨论】:
标签: r loops dataframe combinations