我的数据如下:

site year date
A    2019 2019-08-08
A    2019 2019-08-18
A    2019 2019-10-14
A    2019 2019-10-27
B    2019 2019-08-07
B    2019 2019-08-19
B    2019 2019-10-15
B    2019 2019-10-20
A    2020 2020-08-08
A    2020 2020-08-18
A    2020 2020-10-14
A    2020 2020-10-27
B    2020 2020-08-07
B    2020 2020-08-19
B    2020 2020-10-15
B    2020 2020-10-20

对于每一年,我想对满足以下条件的行进行子集划分:

=<10月15日

提前感谢您!

推荐答案

转换为yearday并使用filter

library(dplyr)
library(lubridate)
df1 %>% 
  mutate(date = ymd(date)) %>% 
  filter(between(yday(date), 228, 289))

-输出

 site year       date
1    A 2019 2019-08-18
2    A 2019 2019-10-14
3    B 2019 2019-08-19
4    B 2019 2019-10-15
5    A 2020 2020-08-18
6    A 2020 2020-10-14
7    B 2020 2020-08-19
8    B 2020 2020-10-15

数据

df1 <- structure(list(site = c("A", "A", "A", "A", "B", "B", "B", "B", 
"A", "A", "A", "A", "B", "B", "B", "B"), year = c(2019L, 2019L, 
2019L, 2019L, 2019L, 2019L, 2019L, 2019L, 2020L, 2020L, 2020L, 
2020L, 2020L, 2020L, 2020L, 2020L), date = c("2019-08-08", "2019-08-18", 
"2019-10-14", "2019-10-27", "2019-08-07", "2019-08-19", "2019-10-15", 
"2019-10-20", "2020-08-08", "2020-08-18", "2020-10-14", "2020-10-27", 
"2020-08-07", "2020-08-19", "2020-10-15", "2020-10-20")), 
class = "数据.frame", row.names = c(NA, 
-16L))

R相关问答推荐

调整位置 x 轴标题

将所有包含'的变量变为'?和其他想要的符号?

map_dfr 输出一行而不是一列

子集列表的更好方法?

使用 rvest 从clinicaltrials.gov 抓取数据表

如何将数据框行转换为R中的变量

在逐行操作中处理缺失数据

按不同的列值将 DataFrame 拆分为 2 个列表

在 R 中将对数似然写成函数(什么是 theta?)

R - 在管道中的 map 中提取 corrplot 图的标题

在 R + 中zoom 和居中多个列,为新列添加新名称

R 创建创建标签或类别的新列,直到它到达新标签

如何绘制具有与正数相同 colored颜色 形状的负数条?

跨不同数据集跟踪观察结果(例如 sub-reddits)

忽略列zoom 行值

R:重新排列数据框中行的顺序

如何使用 dplyr 填写日期?

用于处理来自 excel 的不同日期格式的自定义函数try 使用 curly curly

查找具有匹配值 R 的列的行

R:用 0 随机替换数据帧的元素