考虑到下面的示例向量(类是数字的):
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")我想删除重复的任何一个守护进程:
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")发布于 2022-04-04 19:58:36
下面是如何使用mutate实现akrun的解决方案
library(dplyr)
dates %>%
mutate(A = replace(A, duplicated(A), NA)) 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发布于 2022-04-04 19:12:08
使用duplicated
dates$A <- replace(dates$A, duplicated(dates$A), NA)或更新原始对象。
dates$A[duplicated(dates$A)] <- NA如果这些是基于相邻的值,请使用rle
dates$A <- replace(dates$A, duplicated(with(rle(dates$A),
rep(seq_along(values), lengths))), NA)如果我们想要删除行
subset(dates, !duplicated(A))https://stackoverflow.com/questions/71742567
复制相似问题