gpt4 book ai didi

r - 如何从 R 中的数据框创建不同格式的矩阵?

转载 作者:行者123 更新时间:2023-12-04 10:54:15 27 4
gpt4 key购买 nike

我的数据框如下:

group_id  user_id
1000 26
1236 29
1236 46
3767 26
3767 46
5614 29
5614 45
5614 46

我需要如下输出:

User-1   User-2  #of-common-groups
26 26 2
26 46 1
29 29 2
29 45 1
29 46 2
45 29 1
45 45 1
45 46 1
46 26 1
46 29 2
46 45 1
46 46 3

有没有快速的方法来实现这个?我实际上有 137 个不同的组和大约 81000 个用户。

用户 26 属于 2 个组,他​​也与用户 46 共享同一个组 3767。因此

26 26 2
26 46 1
46 26 1
46 46 3 (user 46 belongs to 3 groups) etc

最佳答案

这是使用 Matrix 包的尝试 - 只是复制来自 here 的@nograpes 的回答:

require(Matrix)
sm = sparseMatrix(dat$group_id, dat$user_id, x = TRUE)
cp = t(sm) %*% sm
as.data.frame(summary(cp))
# i j x
# 1 26 26 2
# 2 46 26 1
# 3 29 29 2
# 4 45 29 1
# 5 46 29 2
# 6 29 45 1
# 7 45 45 1
# 8 46 45 1
# 9 26 46 1
# 10 29 46 2
# 11 45 46 1
# 12 46 46 3

关于r - 如何从 R 中的数据框创建不同格式的矩阵?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27759882/

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