首页 > 解决方案 > r 中特定月份和日期的子集数据框

问题描述

我有一个看起来像这样的数据框:

V1 V2 V3 Month_nr Date
 1 2   3  1  2017-01-01
 3 5   6  1  2017-01-02
 6 8   9  2  2017-02-01
 6 8   9  8  2017-08-01

我想从数据集中获取月份=1(一月)和日期从 2017 年 1 月 1 日到 2017 年 1 月 31 日(所以一月底)的数据集中的所有变量,这意味着我想把日期作为出色地。我会创建一个包含天数的列,但我一天有多个观察结果,这会更加令人困惑。我用这个试过:

df<- filter(df,df$Month_nr == 1, df$Date > 2017-01-01 && df$Date < 2017-01-31)

但它没有用。非常感谢您的帮助!在这一点上我很绝望。我的数据集有整年的测量值(从 1 到 12),因此我过滤了几个月。

标签: rdataframetimesubset

解决方案


为什么您需要在过滤器中包含月份和日期?只是日期上的过滤器可以正常工作。但是,您必须将日期列转换为日期对象。你可以这样做:

df$Date_nr <- as.Date(df$Date_nr, format = "%Y-%m-%d")
df_new <- subset(df, Date_nr >= "2017-01-01" & Date_nr <= "2017-01-31")

推荐阅读