从R中的二进制调查响应创建邻接矩阵

从R中的二进制调查响应创建邻接矩阵,r,network-programming,adjacency-matrix,R,Network Programming,Adjacency Matrix,我有一个数据框,代表不同的人的政策偏好,其中行代表个人 下面是一个玩具示例,使用来自“弗兰克”、“莎拉”、“乔希”和“爱丽舍”的假设数据。在本例中,参与者表示支持三项政治政策(减税、全民医疗、延长任期限制),其中“1”表示支持,“0”表示反对该政策 d我们可以通过矩阵乘法来实现: t(d[-1]) %*% as.matrix(d[-1]) tax_cuts u_healthcare ex_term tax_cuts 3 1

我有一个数据框,代表不同的人的政策偏好,其中行代表个人

下面是一个玩具示例,使用来自“弗兰克”、“莎拉”、“乔希”和“爱丽舍”的假设数据。在本例中,参与者表示支持三项政治政策(减税、全民医疗、延长任期限制),其中“1”表示支持,“0”表示反对该政策


d我们可以通过矩阵乘法来实现:

t(d[-1]) %*% as.matrix(d[-1])
             tax_cuts u_healthcare ex_term
tax_cuts            3            1       1
u_healthcare        1            2       0
ex_term             1            0       1
对角线是每个单独背书的计数。如果您愿意,可以将其设置为0

coendorse = t(d[-1]) %*% as.matrix(d[-1])
diag(coendorse) = 0
coendorse
#              tax_cuts u_healthcare ex_term
# tax_cuts            0            1       1
# u_healthcare        1            0       0
# ex_term             1            0       0

使用
crossprod

crossprod(as.matrix(d[-1]), as.matrix(d[-1]))
#             tax_cuts u_healthcare ex_term
#tax_cuts            3            1       1
#u_healthcare        1            2       0
#ex_term             1            0       1

很抱歉这么草率。我刚修好!对不起,我不知道,但是我该如何解释这个矩阵中的对角线呢?与self的共同认可只是认可计数。3人表示“减税”,因此减税/减税联合背书为3。两人表示有医疗保健,因此医疗保健/医疗保健共同背书为2。对角线条目与原始数据的列和相同。明白了。非常感谢!