R:查找并删除具有特定日期的行

问题描述 投票:0回答:1

我对R很新。这是我的问题:我有一个包含100k行的巨大.txt文件,任务是删除包含日期的所有行,例如本月。

日期格式为%Y-%m-%dT%H:%M:%S.%f+00:00

一行的示例,但它可能包含非常数的单词:INFO: 2018-11-21T09:53:55.467550+00:00 (none) setaupasqa[12]: 0012f73ad1a26

我已经尝试过这样的方法(日期时间函数)来查找日期,但似乎它不起作用

Date <- read.delim("my_data.txt")
Date <- as.POSIXct(Date, format= "%Y-%m-%dT%H:%M:%S.%f+00:00", tz="UTC")
as.POSIXlt(Date)$year + 1900 

提前致谢。

r date posixct
1个回答
0
投票

你可以使用lubridate。示例示例:

library(data.table)
library(dplyr)
df <- fread("sample.txt", header = F)
df$V2 <- lubridate::ymd_hms(df$V2)

#Filter all rows with month >= 11
df %>%
  filter(month(V2) >= 11)
V1                  V2     V3              V4            V5
1 INFO: 2018-11-22 09:53:55 (none) setaupasqa[12]: 0012f73ad1a26

Sample Data

$ cat sample.txt
INFO: 2018-10-21T09:53:55.467550+00:00 (none) setaupasqa[12]: 0012f73ad1a26
INFO: 2018-11-22T09:53:55.467550+00:00 (none) setaupasqa[12]: 0012f73ad1a26
© www.soinside.com 2019 - 2024. All rights reserved.