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 |