首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从r中的列中删除重复元素

从r中的列中删除重复元素
EN

Stack Overflow用户
提问于 2022-04-04 19:11:34
回答 2查看 49关注 0票数 3

考虑到下面的示例向量(类是数字的):

代码语言:javascript
复制
dates <- data.frame(A = c(2021, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2023, 
2023, 2023, 2023, 2024, 2025, 2025, 2025, 2025), B = "something")

我想删除重复的任何一个守护进程:

代码语言:javascript
复制
dates <- data.frame(A = c(2021, 2022, NA, NA, NA, NA, NA, NA, NA, 2023, 
NA, NA, NA, 2024, 2025, NA, NA, NA), B = "something")
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-04-04 19:58:36

下面是如何使用mutate实现akrun的解决方案

代码语言:javascript
复制
library(dplyr)
dates %>% 
  mutate(A = replace(A, duplicated(A), NA))
代码语言:javascript
复制
  A         B
1  2021 something
2  2022 something
3    NA something
4    NA something
5    NA something
6    NA something
7    NA something
8    NA something
9    NA something
10 2023 something
11   NA something
12   NA something
13   NA something
14 2024 something
15 2025 something
16   NA something
17   NA something
18   NA something
票数 3
EN

Stack Overflow用户

发布于 2022-04-04 19:12:08

使用duplicated

代码语言:javascript
复制
dates$A <- replace(dates$A, duplicated(dates$A), NA)

或更新原始对象。

代码语言:javascript
复制
dates$A[duplicated(dates$A)] <- NA

如果这些是基于相邻的值,请使用rle

代码语言:javascript
复制
dates$A <- replace(dates$A, duplicated(with(rle(dates$A), 
     rep(seq_along(values), lengths))), NA)

如果我们想要删除行

代码语言:javascript
复制
subset(dates, !duplicated(A))
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71742567

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档