[英]How do I sum values from different rows in the tidyverse?
我有一個如下所示的數據框:
WORD CATEGORY n
<fct> <fct> <int>
1 A X 4
2 B X 3
3 C X 6
4 C Y 3
5 D X 2
6 E X 2
7 F Y 2
我想添加一個列sum
,根據CATEGORY
將列n
的值sum
。 因此,例如,在第 3 行和第 4 行中, sum
列的值為 9。
以下是完整數據集的樣子:
WORD CATEGORY n sum
<fct> <fct> <int> <int>
1 A X 4 4
2 B X 3 3
3 C X 6 9
4 C Y 3 9
5 D X 2 2
6 E X 2 2
7 F Y 2 2
我如何在 tidyverse 中做到這一點?
如果我們計算CATEGORY
中唯一值的數量並將其添加到分組變量中,我們可以直接對 n 求和:
dt %>%
group_by(WORD) %>%
mutate(uni=length(unique(CATEGORY))) %>%
group_by(WORD,uni) %>%
mutate(sum=sum(n)) %>%
ungroup %>%
select(-uni)
# A tibble: 7 x 4
WORD CATEGORY n sum
<fct> <fct> <int> <int>
1 A X 4 4
2 B X 3 3
3 C X 6 9
4 C Y 3 9
5 D X 2 2
6 E X 2 2
7 F Y 2 2
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.