如何在 R 数据框中查找按年份总计的列?

r programmingserver side programmingprogramming更新于 2025/4/8 22:22:17

要在 R 数据框中查找按年份总计的列,我们可以使用带有 sum 函数的聚合函数。

例如,如果我们有一个名为 df 的数据框,其中包含一个年份列(例如 Year)和一个数字列(例如 Demand),那么我们可以借助下面给出的命令 − 查找按年份总计的需求

aggregate(df["Demand"],by=df["Year"],sum)

示例 1

以下代码片段创建了一个示例数据框 −

Year<-sample(2001:2005,20,replace=TRUE)
Sales<-sample(500:1000,20)
df1<-data.frame(Year,Sales)
df1

创建以下数据框

  Year Sales
 1 2001 537
 2 2005 742
 3 2003 551
 4 2003 590
 5 2001 792
 6 2003 985
 7 2003 765
 8 2003 993
 9 2003 764
10 2003 855
11 2001 959
12 2004 607
13 2002 555
14 2002 566
15 2005 596
16 2003 714
17 2005 846
18 2004 910
19 2005 849
20 2002 740

要在上述创建的数据框中查找按年份计算的总销售额,请将以下代码添加到上述代码片段中 −

Year<-sample(2001:2005,20,replace=TRUE)
Sales<-sample(500:1000,20)
df1<-data.frame(Year,Sales)
aggregate(df1["Sales"],by=df1["Year"],sum)

输出

如果将上述所有代码片段作为单个程序执行,则会生成以下输出 −

 Year Sales
1 2001 2288
2 2002 1861
3 2003 6217
4 2004 1517
5 2005 3033

示例 2

以下代码片段创建了一个示例数据框 −

Years<-sample(2011:2016,20,replace=TRUE)
GDP_Variation<-sample(1:10,20,replace=TRUE)
df2<-data.frame(Years,GDP_Variation)
df2

创建以下数据框

 Years  GDP_Variation
 1 2011      10
 2 2011       7
 3 2014       3
 4 2016       8
 5 2012      10
 6 2016       9
 7 2011       9
 8 2013       7
 9 2016       3
10 2016       6
11 2016       6
12 2012       3
13 2013       6
14 2015       5
15 2013       1
16 2011       8
17 2013       4
18 2015       5
19 2016       7
20 2013       8

要在上述创建的数据框中查找各年的 GDP 总体变化,请将以下代码添加到上述代码片段中 −

Years<-sample(2011:2016,20,replace=TRUE)
GDP_Variation<-sample(1:10,20,replace=TRUE)
df2<-data.frame(Years,GDP_Variation)
aggregate(df2["GDP_Variation"],by=df2["Years"],sum)

输出

如果将上述所有代码片段作为单个程序执行,则会生成以下输出 −

  Years GDP_Variation
1 2011      34
2 2012      13
3 2013      26
4 2014       3
5 2015      10
6 2016      39

相关文章