【问题标题】:Remove similar (not duplicate) time stamps from the data in R从 R 中的数据中删除相似(不重复)的时间戳
【发布时间】:2018-08-09 08:14:14
【问题描述】:

我有一个包含两列的数据框,即时间戳和大小。数据如下:

time stamps                     Magnitude
"2010-04-2 19:58:39 CEST"          1
"2010-04-2 19:58:49 CEST"          2
"2010-04-2 19:58:59 CEST"          3
"2010-04-2 19:59:09 CEST"          4
"2010-04-2 19:59:19 CEST"          5 

"2010-04-2 19:58:40 CEST"          1
"2010-04-2 19:58:50 CEST"          2
"2010-04-2 19:58:60 CEST"          3
"2010-04-2 19:59:70 CEST"          4
"2010-04-2 19:59:80 CEST"          5

我想删除这些彼此不重复的相似时间戳。我已经尝试过基于重复行的子集,但显然这行不通。

【问题讨论】:

  • 在您提供的示例中,我没有看到任何重复的 timestamps。您的预期输出是什么?
  • 是的,这就是重点,我想删除类似的时间戳,即只有一个时间戳“2010-04-2 19:58:39 CEST”和“2010-04-2 19: 58:40 CEST" 应保留在数据中
  • 你如何定义“相似性”?只匹配最后一位?
  • @Gujj 您需要定义“相似时间戳”的含义。相隔 1 秒的时间戳? 2 秒? 10 秒?
  • 时间戳在时间戳中的小时级别匹配

标签: r timestamp


【解决方案1】:

这是一个使用lubridate 的示例。我假设您要删除在日期-小时-分钟级别重复的条目,即不考虑秒。

library(lubridate)
df[!duplicated(floor_date(df$timestamps, unit = "minute")), ]
#           timestamps Magnitude
#1 2010-04-02 19:58:39         1
#4 2010-04-02 19:59:09         4

将单位更改为hour 或您需要的任何单位。

【讨论】:

    猜你喜欢
    • 2020-04-01
    • 2013-08-22
    • 2021-10-21
    • 1970-01-01
    • 2020-12-22
    • 1970-01-01
    • 2021-11-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多