【发布时间】:2021-01-07 06:04:19
【问题描述】:
我有以下数据框,我想过滤仅包含从 2019-06-01 到 2019-06-30 的值的数据框
ds yhat
1 2015-01-01 -100
2 2015-01-02 250
3 2015-01-03 50
4 … 60
5 2019-06-30 370
【问题讨论】:
-
过滤 range 确实建议
Date-class 对象(在这种情况下),但ds列中的最后一个值是一个字符串。如果他们真的是Date类,那么x[x$ds >= as.Date("2019-06-01") & x$ds <= as.Date("2019-06-30"),]可能会起作用。dplyr::between和data.table::between(取决于您的偏好)都可用,将其从dplyr::filter(x, between(ds, as.Date("2019-06-01"), as.Date("2019-06-30"))或as.data.table(x)[ between(ds, as.Date("2019-06-01"), as.Date("2019-06-30"), ]更改。 -
@r2evans 很好的观察,我纠正了这个例子。
标签: r dataframe filter row subset