次のようなデータフレームがあります。
d <- data.frame(Vessel = c("Hondo", "Whamo", "Hondo", "Delta", "Whamo", "Hondo"),
PAX = c(250, 252, 249, 353, 252, 250),
crew = c(35, 63, 36, NA, NA, NA))
同じ船舶のフレームに別の行がある場合、対応する行に基づいて乗組員の値を更新する条件付き自己結合のようなものを使用してNAを代入したいと思います(対応する行が複数ある場合は、乗組員の値、最大/最小を選択...乗組員の値は劇的に変化しないので問題ありません...対応するレコードがない場合は、ラウンドごとに乗組員を更新します(0.25 * PAX)。ここに行く方法であり、これを自分で理解できなかったことをお詫びします...これでどこにでも行くのに問題があります。最終的なdata.frameを次のようにしたいと思います。
VESSEL PAX crew
Hondo 250 35
Whamo 252 63
Hondo 249 36
Delta 353 88
Whamo 254 63
Hondo 250 35
注:PAX値とCREW値は変化する可能性があるため(CREWはほとんど変化しません)、最後の「Hondo」CREW値は35、36、またはそれに近い値になる可能性があります(ただし、計算ではなくルックアップに基づく必要があります)。
よろしくお願いします、-JT