【发布时间】:2019-06-01 17:43:39
【问题描述】:
我的数据似乎与其他类似类型的帖子有点不同。
box_num date x y
1-Q 2018-11-18 20.2 8
1-Q 2018-11-25 21.23 7.2
1-Q 2018-12-2 21.23 23
98-L 2018-11-25 0.134 9.3
98-L 2018-12-2 0.134 4
76-GI 2018-12-2 22.734 4.562
76-GI 2018-12-9 28 4.562
在这里,我想用 NA 替换 x 和 y 列中的重复值。 我尝试使用 dplyr 的代码:
(1)df <- df %>% group_by(box_num) %>% arrange(box_num,date) %>%
mutate(df$x[duplicated(df$x),] <- NA)
它创建一个包含所有 NA 的新列,而不是仅仅用 NA 替换重复值
(2)df <- df %>% group_by(box_num) %>% arrange(box_num,date) %>%
distinct(x,.keep_all = TRUE)
第二个只是给出不重复的行(我们缺少时间序列) 期望的输出:
box_num date x y
1-Q 2018-11-18 20.2 8
1-Q 2018-11-25 21.23 7.2
1-Q 2018-12-2 NA 23
98-L 2018-11-25 0.134 9.3
98-L 2018-12-2 NA 4
76-GI 2018-12-2 22.734 4.562
76-GI 2018-12-9 28 NA
【问题讨论】:
标签: r dplyr duplicates time-series na