【发布时间】:2019-06-10 20:23:50
【问题描述】:
我的问题类似于replace duplicate values with NA in time series data using dplyr,但适用于其他时间序列,如下所示:
box_num date x y
6-WQ 2018-11-18 20.2 8
6-WQ 2018-11-25 500.75 7.2
6-WQ 2018-12-2 500.75 23
25-LR 2018-11-18 374.95 4.3
25-LR 2018-11-25 0.134 9.3
25-LR 2018-12-2 0.134 4
73-IU 2018-12-2 225.54 0.7562
73-IU 2018-12-9 28 0.7562
73-IU 2018-12-16 225.54 52.8
library(dplyr)
df %>%
group_by(box_num) %>%
mutate_at(vars(x:y), funs(replace(., duplicated(.), NA)))
上面的代码可以识别并替换为 NA,但根本问题是我试图在接下来的步骤中将所有 NA 替换为线性趋势。因为它是一个时间序列。但是当我们看到 box_num :6-WQ 在20.2 之后,我们可以直接看到一个很大的变化,我们可以说这是一个估算值,所以我会将估算值替换为 NA 和其他情况就像box_num 73-IU 估算值在一周后输入,所以我想用 NA 替换估算值
Expected output :
box_num date x y
6-WQ 2018-11-18 20.2 8
6-WQ 2018-11-25 NA 7.2
6-WQ 2018-12-2 NA 23
25-LR 2018-11-18 374.95 4.3
25-LR 2018-11-25 NA 9.3
25-LR 2018-12-2 NA 4
73-IU 2018-12-2 NA NA
73-IU 2018-12-9 28 NA
73-IU 2018-12-16 NA 52.8
【问题讨论】:
标签: r dplyr duplicates time-series na