gpt4 book ai didi

r - 通过 R 中另一列的成对组合计算列的唯一值

转载 作者:行者123 更新时间:2023-12-04 11:54:00 25 4
gpt4 key购买 nike

假设我有以下数据框:

   ID Code
1 1 A
2 1 B
3 1 C
4 2 B
5 2 C
6 2 D
7 3 C
8 3 A
9 3 D
10 3 B
11 4 D
12 4 B

我想通过“代码”列的成对组合来获取“ID”列的唯一值计数:
  Code.Combinations Count.of.ID
1 A, B 2
2 A, C 2
3 A, D 1
4 B, C 3
5 B, D 3
6 C, D 2

我已经在网上搜索了解决方案,到目前为止还没有达到预期的结果。
任何帮助,将不胜感激。谢谢!

最佳答案

这是一个 data.table解决问题的方法。使用 combn函数选择所有可能的代码组合,然后为每个唯一的 ID 计数 CodeComb :

library(data.table)
setDT(df)[, .(CodeComb = sapply(combn(Code, 2, simplify = F),
function(cmb) paste(sort(cmb), collapse = ", "))), .(ID)]
# list all combinations of Code for each ID
[, .(IdCount = .N), .(CodeComb)]
# count number of unique id for each code combination

# CodeComb IdCount
# 1: A, B 2
# 2: A, C 2
# 3: B, C 3
# 4: B, D 3
# 5: C, D 2
# 6: A, D 1

关于r - 通过 R 中另一列的成对组合计算列的唯一值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38334777/

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