我有一个由销售和人口数据组成的数据框架。以下参考:
Location Sales Population Month
A 10 480 Jan
B 12 480 Jan
C 14 480 Jan
A 13 480 Jan
B 11 480 Jan
C 16 480 Jan
A 12 480 Jan
B 10 480 Jan
C 14 480 Jan
我想做的是使用dplyr按月份分组(只显示1月,但显示12月(,计算销售额和当月人口的总和。
我用这行代码获得了销售额,我的人口显示为NA.
test2 <- df_2019 %>% group_by(Month) %>% summarize(SumSales = sum(Total_Sales, na.rm = TRUE), Pop_Sum = sum(Population, na.rm = TRUE))
Month
SumSales
Pop_Sum
1 Apr 285591.9 134786490
2 Aug 384246.5 131901771
3 Dec 254748.9 89512147
4 Feb 251463.7 135634878
5 Jan 243624.6 135901304
6 Jul 286468.8 134335668
7 Jun 283395.2 134335668
8 Mar 289453.8 135658132
9 May 365272.2 134768586
10 Nov 291248.8 89576444
11 Oct 375402.2 89589288
12 Sep 290888.5 132878020
期望输出如下所示:
Month
SumSales
Pop_Sum
1 Apr 285591.9 437
2 Aug 384246.5 440
3 Dec 254748.9 443
4 Feb 251463.7 435
5 Jan 243624.6 480
6 Jul 286468.8 455
7 Jun 283395.2 465
8 Mar 289453.8 460
9 May 365272.2 479
10 Nov 291248.8 435
11 Oct 375402.2 444
12 Sep 290888.5 451
其中Month Population具有多个具有相同值但销售额是唯一的行。任何帮助都会很有帮助!
由于population
值已经计算完毕,我们可以为每个月取任何population
值。例如,取Population
的第一个值,我们可以进行
library(dplyr)
df_2019 %>%
group_by(Month) %>%
summarize(SumSales = sum(Total_Sales, na.rm = TRUE),
Pop_Sum = first(Population))