【问题标题】:Duplicate removal in time series based on other column using R使用 R 基于其他列在时间序列中重复删除
【发布时间】:2020-04-01 07:12:11
【问题描述】:

我目前正在处理一个涉及以下方式的数据清理和计算的问题: 我在这里为单个单元 A 创建了示例数据集。 数据根据每个单元的时间戳列进行排序。还有其他列。 对于event_log_value_desc 的每个不同的备用值,我需要获取行。在event_log_value_desc 有多个重复值的情况下,它应该返回第一次出现event_log_value_desc 的行。 event_log_value_desc 应该为每个单元提供交替的 OFF 和 ON 值。

作为回报,程序应返回以下内容:

【问题讨论】:

  • 您能否使用函数dput 提供一些示例数据并将输出粘贴到您的问题中?通过这种方式,人们将更容易帮助您。谢谢
  • 请查看How to make a great R reproducible example,以修改您的问题,并从您的数据中提取更小的样本(查看?dput())。发布您的数据或没有数据的图像会使我们难以为您提供帮助!

标签: r dplyr time-series


【解决方案1】:

我不知道这个解决方案是否有效,因为它尚未在您的数据集上进行测试,但我相信它应该没问题

library(dplyr)

df %>% 
  group_by(unit) %>% 
  mutate(event_log_value_desc_lag = lag(event_log_value_desc)) %>% 
  filter(event_log_value_desc != event_log_value_desc_lag | is.na(event_log_value_desc_lag))

【讨论】:

  • 谢谢瑞克。它在几个单元上工作和测试。
  • @User1101 很高兴听到这个消息!如果您想澄清代码的作用,我将通过一些解释来编辑我的答案。另外,如果您发现我的回答有用,请考虑支持它:)
猜你喜欢
  • 1970-01-01
  • 2016-10-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-12-02
  • 2017-02-20
  • 2019-03-08
相关资源
最近更新 更多