如何根据其中一列中的值(日期)删除数据框中的行?

时间:2017-09-21 07:14:16

标签: r dataframe

我有一个由每日数据组成的数据框。它有 500,000 + 行和 18列。第二列包含日期。

例如,按时间顺序从现在开始的7月1日到当前日期。

我每周一提取数据并将其输入R,但我只想要数据直到最近的星期五。

我设置的变量等于最近的星期五的日期(以数据的确切日期格式):

library(lubridate)

LastFriday <- gsub("X", "", gsub("X0", "", format(
                                   Sys.Date() - wday(Sys.date()+1), "X%m/X%d/%Y))) 

返回9/15/2017

如何在包含上周五日期的最后一行之后删除数据框中的所有行?

1 个答案:

答案 0 :(得分:0)

以下应该可行,但我还没有测试过

keep_index <- as.POSIXct(as.Date(df[,2]), "X%m/X%d/%Y") <= as.POSIXct(LastFriday, format = "X%m/X%d/%Y")
mydf <- df[keep_index, ]