小编Lal*_*tha的帖子

使用dplyr在时间序列数据中用NA替换重复值

我的数据似乎与其他类似的帖子有所不同。

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)

r time-series duplicates na dplyr

5
推荐指数
1
解决办法
197
查看次数

标签 统计

dplyr ×1

duplicates ×1

na ×1

r ×1

time-series ×1