gpt4 book ai didi

r - 按月-日间隔过滤

转载 作者:行者123 更新时间:2023-12-02 09:18:10 25 4
gpt4 key购买 nike

我有一个数据框,其中包含多年的每日观察结果。我想过滤到一个范围,例如每年的“3月10日至5月12日”。也许是我的谷歌搜索技术不佳,但我找不到某种月日结构。

这是一个示例 df:

set.seed(123)

dates <- seq.Date(from=as.Date("1970-01-01"), to=as.Date("2007-08-31"), by="days")

sample.df <- data.frame(date=dates,
data=rnorm(length(dates)))

复杂化的另一个补充是保持跨年的范围,例如“12 月 10 日到 2 月 2 日”。可以假设所有需要的日期都包含在数据框中,但可能需要做一些 NA,例如数据框何时进入 2007 年,因此我们不能从 2007 年 12 月 10 日到 2008 年 2 月 2 日。

最佳答案

这适用于任意年限和任意复杂的逻辑条件。没有使用包。

monthday <- format(sample.df$date, "%m%d")

sample.df[ monthday >= "0310" & monthday <= "0512", ] # mar 10 - may 12

sample.df[ monthday <= "0202" | monthday >= "1210", ] # dec 10 - feb 02

sample.df[ monthday <= "0202" |
(monthday >= "0310" & monthday <= "0512") |
monthday >= "1210", ] # both

关于r - 按月-日间隔过滤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44991195/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com