让我们说我有一个较小的相关矩阵("键#34;):
a b c
a 1.0 0.0 0.2
b 0.0 1.0 0.1
c 0.2 0.1 1.0
我想在ID' s(a,b,c)的另一个数据框/矩阵上使用此密钥来制作更大的矩阵。
例如,此示例数据框:
sex age id
F 20 a
F 22 b
M 23 b
M 18 a
F 12 c
将使用上面的"键":
变成这个更大的相关矩阵 a b b a c
a 1.0 0.0 0.0 1.0 0.2
b 0.0 1.0 1.0 0.0 0.1
b 0.0 1.0 1.0 0.0 0.1
a 1.0 0.0 0.0 1.0 0.2
c 0.2 0.1 0.1 0.2 1.0
这是一种做到这一点的方法,如果有更大的数据框,那么计算效率的方法是什么?
答案 0 :(得分:7)
R允许按名称进行子集化:
StringBuilder
数据强>
mat_cor[df1$id,df1$id]
a b b a c
a 1.0 0.0 0.0 1.0 0.2
b 0.0 1.0 1.0 0.0 0.1
b 0.0 1.0 1.0 0.0 0.1
a 1.0 0.0 0.0 1.0 0.2
c 0.2 0.1 0.1 0.2 1.0