このようなデータセットがあります。各IDの最初の0以外のすべての観測値を0に置き換えます。
ID date price day
a 2005/5 100 16
a 2005/6 110 1
a 2005/7 90 1
b 2005/5 90 20
b 2005/6 100 1
b 2005/7 90 1
c 2005/5 90 3
c 2005/6 95 1
c 2005/7 100 1
日のコラムのために、私は0 に最初の行を除くすべての行を交換したいので、私の望ましい結果は以下の通りです。
ID date price day
a 2005/5 100 16
a 2005/6 110 0
a 2005/7 90 0
b 2005/5 90 20
b 2005/6 100 0
b 2005/7 90 0
c 2005/5 90 3
c 2005/6 95 0
c 2005/7 100 0
私は、このような
rbonds1 <- as.data.table(rbonds1)
setkey(rbonds1,ID,date)
rbonds1[rbonds1[-1, 21]==0,by=ID]
などのコマンドを使用して試してみました。しかし、それは動作しません。
ニース。あなたは2秒で私を打ち負かす... – lmo
@josliber私は素早く別の質問があります。他のすべての変数を各IDの最初の行の値として置き換えたい場合は、 'rbonds1 $ day [duplicated(rbonds1 $ ID)] < - rbonds1 $ day [!duplicated(rbonds1 $ ID)]'を実行できますか? – hk824
@ hk824したがって、各グループIDから、dayの最初の値ですべての値を置き換えますか? –