[英]How to count one column based on two other columns in R?
我有一個這樣的數據框:
ID tr tri
a A 11
a A 11
a A 11
a A 11
a A 12
a A 12
a A 12
a A 13
a A 13
a A 13
a A 13
f A 11
f A 11
f A 12
f A 12
f A 12
f A 13
f A 13
f A 14
f A 14
f A 14
f A 14
j B 11
j B 11
j B 12
j B 12
j B 12
j B 12
j B 13
j B 14
j B 14
j B 14
j B 14
p B 11
p B 11
p B 11
p B 11
p B 11
p B 12
p B 12
p B 13
p B 13
p B 13
w B 11
w B 11
w B 12
w B 12
w B 12
w B 12
w B 12
w B 13
w B 13
w B 14
我需要知道每個tri中每個tr有多少個唯一ID ,如下所示:
tr tri count
A 11 2
A 12 2
A 13 2
A 14 1
B 11 3
B 12 3
B 13 3
B 14 2
所以我的問題是如何根據其他兩列來計算一列? 我想我需要summarize
function,但我不知道如何根據我的兩個專欄來做。 謝謝。
您需要將tr
和tri
組合在一起,然后使用summarize
和n_distinct
來計算唯一ID
。
library(dplyr)
df %>% group_by(tr, tri) %>% summarize(count = n_distinct(ID), .groups = "drop")
# A tibble: 8 × 3
tr tri count
<chr> <int> <int>
1 A 11 2
2 A 12 2
3 A 13 2
4 A 14 1
5 B 11 3
6 B 12 3
7 B 13 3
8 B 14 2
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.