我的数据似乎与其他类似的帖子有所不同。
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
Run Code Online (Sandbox Code Playgroud)
在这里,我想用x和y列中的NA替换重复的值。我尝试使用dplyr的代码:
(1)df <- df %>% group_by(box_num) %>% arrange(box_num,date) %>%
mutate(df$x[duplicated(df$x),] <- NA)
Run Code Online (Sandbox Code Playgroud)
它创建一个具有所有NA的新列,而不是仅用NA替换重复的值
(2)df <- df %>% group_by(box_num) %>% arrange(box_num,date) %>%
distinct(x,.keep_all = TRUE)
Run Code Online (Sandbox Code Playgroud)
第二个只是给出未重复的行(我们缺少时间序列)所需的输出:
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 …Run Code Online (Sandbox Code Playgroud)