gpt4 book ai didi

r - 计算值出现的次数,按 R 中的 id 分组

转载 作者:行者123 更新时间:2023-12-01 07:12:26 26 4
gpt4 key购买 nike

我在 R 中有一个如下所示的数据集: 发现类似的帖子 Counting number of times a value occurs但不完全一样。

id <-     c(1,1,1, 2,2,2, 3,3,3,3)
cat.1 <- c("a","a","a","b","b","b","c","c","c","c")
cat.2 <- c("m","m","m","f","f","f","m","m","m","m")
score <- c(-1,0,-1, 1,0,1, -1,0,1,1)


data <- data.frame("id"=id, "cat.1"=cat.1, "cat.2"=cat.2, "score"=score)
data
id cat.1 cat.2 score
1 1 a m -1
2 1 a m 0
3 1 a m -1
4 2 b f 1
5 2 b f 0
6 2 b f 1
7 3 c m -1
8 3 c m 0
9 3 c m 1
10 3 c m 1

我要数 -1的数量 score 中的值每个 id 中的变量。另外,我想保留 cat.1cat.2变量。期望的输出是:
   id cat.1 cat.2 count(-1)
1 1 a m 2
2 2 b f 0
3 3 c m 1

你有什么建议吗?
谢谢!

最佳答案

这是我们可以使用的东西 dplyr为了:

data %>%
group_by(id, cat.1, cat.2) %>% # or: group_by_at(vars(-score))
summarise(count_neg_1 = sum(score == -1))


# id cat.1 cat.2 count_neg_1
# 1 1 a m 2
# 2 2 b f 0
# 3 3 c m 1

如果您愿意,可以更改计算列的名称。我通常避免在变量名中使用字母、数字或下划线以外的任何内容。

关于r - 计算值出现的次数,按 R 中的 id 分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58548640/

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