トップ 一覧 検索 ヘルプ RSS ログイン 印刷

期間の変更点

  • 追加された行はこのように表示されます。
  • 削除された行はこのように表示されます。
!日付の期間に該当するデータの処理

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