0

dplyr() lag() 関数を使用して、連続する行間の「x」の違いを見つけています。「x」に NA がある行の場合、「diff」は NA です。次の「差分」では、NA 行が計算から除外されているようです。

df  %>%
  mutate(diff = x - lag(x))
日にち バツ 差分
2021-01-01 0 0
2021-01-02 10 10
2021-01-02 30 20
2021-01-03 NA NA
2021-01-04 60 30

より完全なデータセットを得るために、NA エントリがある場合、2 つのエントリ間で「x」が直線的に増加すると仮定しています。

したがって、NA行に続く「差分」を1 +「スキップ」されたNA行の数で割りたいと思います。この例では、1 つの NA 行がスキップされたため、ここに示すように、30/2 を割り、NA 行と次の行の差分列に 15 を入力します。

日にち バツ 差分
2021-01-01 0 0
2021-01-02 10 10
2021-01-02 30 20
2021-01-03 NA 15
2021-01-04 60 15
4

1 に答える 1