gpt4 book ai didi

r - 一致性矩阵

转载 作者:行者123 更新时间:2023-12-03 23:59:21 25 4
gpt4 key购买 nike

假设我有一个包含任意数量的行和列的数据集,如下所示。

tmp <- tibble(id = 1:10,
v1 = c(0, 0, 0, 1, 1, 0, 0, 0, 0, 1),
v2 = c(0, 0, 0, 1, 0, 0, 0, 0, 0, 1),
v3 = c(0, 0, 0, 1, 0, 0, 0, 0, 1, 0),
v4 = c(0, 0, 0, 1, 1, 0, 0, 0, 1, 0))
每一行都是一个响应。受访者对特定问题的回答是是 (1) 或否 (0)。在这里,我们有 4 个问题。
将其转换为如下所示的一致性矩阵的最简单方法是什么:
   v1  v2  v3  v4
v1 3 2 1 1
v2 2 2 1 1
v3 1 1 2 2
v4 1 1 2 3
每个单元格显示对行上的问题回答是的人,有多少人也对列上的问题回答是。
请注意,问题的数量可能大于 4,因此我不想在解决方案中对变量名称进行硬编码。如果有帮助,我可以确保变量名称始终遵循特定格式。不关心变量名称的解决方案是理想的(如果需要,我们可以删除 id 列)。

最佳答案

最简单的方法是矩阵乘法...

mx <- as.matrix(tmp[,-1])

t(mx) %*% mx

v1 v2 v3 v4
v1 3 2 1 2
v2 2 2 1 1
v3 1 1 2 2
v4 2 1 2 3
crossprod(mx)会做同样的事情。

关于r - 一致性矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64211765/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com