使用 R:如何在每年对这些计数的数字进行分组时计算落入特定容器的元素数量?

Using R: How do I count the number of elements falling into specific bins while grouping these counted numbers per year?

我正在处理每日温度数据(设置为年月日样式的日期),我使用 c(-20,-10,0,10,20,30,40 ) 作为休息时间。我现在有一个看起来像这样的数据框

    date         meantemp      bin
1 1980-01-01     -0.1026295  (-10,0]
2 1980-01-02     -0.8921732  (-10,0]
3 1980-01-03     -2.9833818  (-10,0]
4 1980-01-04     -0.6400758  (-10,0]
5 1980-01-05      2.0644677   (0,10]
6 1980-01-06      2.5712572   (0,10]

我通过使用 :

得到了 table 从 1980 年到今天的时间跨度的所有天数
Summary(df %>% filter(date >= as.Date('1980-01-01') & date <= as.Date('1980-12-31')))


date                meantemp        temp_bin  

Min.   :1980-01-01   Min.   :-8.004   (-20,-10]:  0  

1st Qu.:1980-04-01   1st Qu.: 3.695   (-10,0]  : 40  
Median :1980-07-01   Median : 8.323   (0,10]   :160  

Mean   :1980-07-01   Mean   : 8.524   (10,20]  :155  

3rd Qu.:1980-09-30   3rd Qu.:14.029   (20,30]  : 11  

Max.   :1980-12-31   Max.   :22.560   (30,40]  :  0  

现在,有没有一种方法可以创建一个 table 来提供每年每个垃圾箱中的天数?

我正在寻找这样的东西:

       (-20,-10] (-10,0]   (0,10]   (10,20]    (20,30]    (30,40]

1980       0          40      160       155        11         0
1981        5        50       100       150        57         3

我是 R 的新手,所以我的问题的答案可能有点明显。 不过,先谢谢了!

您需要 year 来获取日期的年份,并且 table 来计算观测值。

library(lubridate)

with(df, table(year(date), bin))

      bin
       (-10,0] (0,10]
  1980       4      2