【发布时间】:2018-12-16 10:06:34
【问题描述】:
我在 R 中有一个大型数据框,其中包含多个位置的每日降雨时间序列数据(每个位置都在自己的列中)。我想知道每个月和每年每个位置的降雨量小于或大于阈值的次数。
我的数据框很大,所以我在这里提供了示例数据:
Date_ex <- seq.Date(as.Date('2000-01-01'),as.Date('2005-01-31'),by = 1)
A <- sample(x = c(1, 3, 5), size = 1858, replace = TRUE)
B <- sample(x = c(1, 2, 10), size = 1858, replace = TRUE)
C <- sample(x = c(1, 3, 5), size = 1858, replace = TRUE)
D <- sample(x = c(1, 3, 4), size = 1858, replace = TRUE)
df <- data.frame(Date_ex, A, B, C, D)
我如何找出 A、B、C 和 D 中的值在每个月以及每年都大于 4 的次数。
我想我应该能够将其总结为两个新表。
这样的(例如,忽略数字):
A B C D
2000-01 1 0 5 0
2000-02 2 16 25 0
2000-03 1 5 26 0
像这样的(例如,忽略数字):
A B C D
2000 44 221 67 0
2001 67 231 4 132
2002 99 111 66 4
2003 33 45 45 4
我认为我应该为此使用 dplyr?但我不确定如何让日期生效。
【问题讨论】:
-
要使这个可重现,您需要添加
set.seed(...)语句。