簡體   English   中英

如何根據列之一中的值(日期)刪除數據框中的行?

[英]How do I delete rows in a data frame based on the value (date) in one of the columns?

我有一個包含每日數據的數據框。 它具有500,000+行和18列 第二列包含日期。

例如,它按時間順序從2017年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

如何刪除包含上周五日期的最后一行之后的數據框中的所有行?

以下應該可以工作,盡管我還沒有測試過

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, ]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM