r - 当 R 中有重复时,保留最新的观察结果
问题描述
我有以下数据。
date var1 level score_1 score_2
2020-02-19 12:10:52.166661 dog n1 1 3
2020-02-19 12:17:25.087898 dog n1 3 6
2020-02-19 12:34:27.624939 dog n2 4 3
2020-02-19 12:35:50.522116 cat n1 2 0
2020-02-19 12:38:49.547181 cat n2 3 4
任何组合 var1 & level 都应该只有一个观察结果。我想消除重复并只保留最近的记录。在前面的例子中,第一行应该被删除,因为第 2 行的 dog-n1 是最近的。尽管如此,我想保留第 3 行,即使 var1 也等于“狗”,因为级别不同。
所以,我想获得什么:
date var1 level score_1 score_2
2020-02-19 12:17:25.087898 dog n1 3 6
2020-02-19 12:34:27.624939 dog n2 4 3
2020-02-19 12:35:50.522116 cat n1 2 0
2020-02-19 12:38:49.547181 cat n2 3 4
解决方案
使用tidyverse
df %>%
group_by(var1, level) %>%
filter(date == max(date)) %>%
ungroup()
推荐阅读
- java - 奇怪的错误:错误:(20, 55) java: void 不能用 selenium 取消引用
- android - 从连续点击监听器导航到另一个片段
- java - 使用 lambda 表达式打印布尔值
- python - groupby 操作后对 pandas 数据帧行的计算
- ruby-on-rails - 如何在视图装饰器中连接多个标签
- java - 使用 LocationServices 获取纬度和经度
- docker - 码头工人错误:.IOError:[Errno 13]权限被拒绝:“./docker-compose.yml”
- azure - 如何从 SSIS 中的 Azure Blob 容器中捕获 Blob 大小
- python - 如何从给定的文件夹列表中找到“{game}.exe”?
- spring - Spring Boot MongoDB 仅返回更大的日期,但不返回具有不同时间的相等日期