- 追加された行はこのように表示されます。
- 削除された行は
このように表示されます。
!日付の期間に該当するデータの処理
r-wakalangで質問があったので回答したが、意外と苦労したので残しておく。
> d =read.csv("clipboard", sep="\t")
> d = d |> mutate(date = lubridate::ymd(date))
> i = 12345
> dates = d |> filter(customer_id == i) |> pull(date)
> d1 = d |> mutate(customer_id = ifelse(date>min(dates) & date<max(dates), i, NA))
> d1
date car_id customer_id
1 2014-04-01 11610 NA
2 2014-04-02 11610 NA
3 2014-04-03 11610 NA
4 2014-04-04 11610 12345
5 2014-04-05 11610 12345 #元はNA
6 2014-04-06 11610 12345 #元はNA
7 2014-04-07 11610 12345
8 2014-04-08 11610 NA
9 2014-04-09 11610 NA
10 2014-04-10 11610 NA
ifelseでは動くがif_elseでエラーが出る。
他に気の利いたいいやり方があるはず。
:こういう方法もある:
* https://stackoverflow.com/questions/48843014/r-how-to-fill-nas-between-two-corresponding-ids-in-a-dataframe/48843154#48843154