使用 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
我正在处理每日温度数据(设置为年月日样式的日期),我使用 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