我有几个不同测量位置的降水数据,并且希望使用 tidyverse
函数仅过滤每个位置和每组降水强度的前 n 个观测值。
到目前为止,我已按位置和降水强度对数据进行了分组。
这是一个最小的示例(每个位置的每个降雨强度都有多个观测值)
df <- data.frame(location = c(rep(1, 7), rep(2, 7)),
rain = c(1:7, 1:7))
location rain
1 1 1
2 1 2
3 1 3
4 1 4
5 1 5
6 1 6
7 1 7
8 2 1
9 2 2
10 2 3
11 2 4
12 2 5
13 2 6
14 2 7
我认为使用group_by()
和filter()
应该很容易,但到目前为止,我还没有找到一个只返回每个地点每个雨组的前 n 个观测值。
df %>% group_by(rain, location) %>% filter(???)
最佳答案
你可以这样做:
df %>%
group_by(location) %>%
slice(1:5)
location rain
<dbl> <int>
1 1 1
2 1 2
3 1 3
4 1 4
5 1 5
6 2 1
7 2 2
8 2 3
9 2 4
10 2 5
关于r - 在 tidyverse 中过滤每组的前 5 个观察值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58184667/