次のコードを使用して、「シグナル」列の時系列の違いを取得し、それを含む新しい列「アクティビティ」を作成しています。シグナルが X よりも強い場合は、新しい列に 1 が生成され、弱い場合は 0 が生成されます。各値と次の値の差をとっているので、明らかに「シグナル」よりも 1 行少ない行が残ります。 .
df$Signal <- as.numeric(df$Signal)
Activity <- ifelse(diff(df$Signal)>=4, 1, 0)
Activity <- as.data.frame(Activity)
df <- rbind.fill(df, Activity)
ただし、rbind.fill を使用すると、「NA」のみを含む新しい列「Activity」で df が返されます。