gpt4 book ai didi

r - 如何查找列中的所有组合并计算数据中的出现次数

转载 作者:行者123 更新时间:2023-12-04 11:14:22 28 4
gpt4 key购买 nike

我试图在第 1 列的值数据中找到所有实际组合。

然后我想按第 2 列计算所有这些出现的次数。

感觉 R 应该能够相当快地做到这一点。我尝试阅读 combn 和 expand.grid,但没有成功。主要问题是我找不到任何关于如何在列中生成组合的指南。

我的数据如下:

Animal (n=57) | Person ID (n=1000)
Dog | 0001
Cat | 0004
Bird | 0001
Snake | 0002
Spider | 0002
Cat | 0003
Dog | 0004

预期输出是:

AnimalComb | CountbyID

Cat | 1
DogBird | 1
SnakeSpider | 1
CatDog | 1

EDIT 删除了猫的错误条目

最佳答案

如果我没理解错的话,你需要group_by PersonIDpaste 所有unique Animal 并计算它们的组合出现的次数,这可以通过计算组中的行数 (n()) 并将其除以不同的值 (n_distinct)。

library(dplyr)

df %>%
group_by(PersonID) %>%
summarise(AnimalComb = paste(unique(Animal), collapse = ""),
CountbyID = n() / n_distinct(Animal))

# PersonID AnimalComb CountbyID
# <int> <chr> <dbl>
#1 1 DogBird 1
#2 2 SnakeSpider 1
#3 3 Cat 1
#4 4 CatDog 1

关于r - 如何查找列中的所有组合并计算数据中的出现次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56356994/

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