0
私のデータフレーム内のグループで関数を実行したいと思います。この関数は隣接する行を比較しますが、各グループに対して「リセット」する必要があります。私は次を試しました:group_by()とカスタム関数または操作を組み合わせる
library(dplyr)
df1 <- as.data.frame(list('x'=1:6,'y'=(1:6)^2,'z'=5:10, 'g'=c(4,4,4,5,5,5),
'h'=c('a','a','b','b','c','c')))
df1 <- group_by(df1,h) %>%
for (i in 2:nrow(df1)) {
df1$Head.Distance[i] <- with(df1, sqrt((x[i] - x[i-1])^2 +
(y[i] - y[i-1])^2 +
(z[i] - z[i-1])^2))
}
しかし、これはNULL値のdf1
になります。この操作を各グループでどのように実行できますか? (注意点として、動作は、第1行目NA
または0
を残す必要があります。)
ありがとう!それはまさに私が探していたものです! –