如何在 R 資料框中查詢按年份彙總的列?


為了在 R 資料框中查詢按年份彙總的列,我們可以使用 aggregate 函式和 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_Variation,請將以下程式碼新增到上面的程式碼片段中:

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

更新於: 2021年11月8日

2K+ 次瀏覽

啟動您的職業生涯

完成課程獲得認證

開始
廣告
© . All rights reserved.