次のようなデータで以前に並べ替えられた R のデータ フレームがあります。
id creatorid responderid
1 1 2
2 1 2
3 1 3
4 1 3
5 1 3
6 2 3
7 2 3
( , ) の組み合わせが以前repetition
に何回出現したかを示す値をデータ フレームに追加したいと思います。たとえば、この場合の出力は次のようになります。creatorid
responderid
id creatorid responderid repetition
1 1 2 0
2 1 2 1
3 1 3 0
4 1 3 1
5 1 3 2
6 2 3 0
7 2 3 1
これは と で簡単にできることだdlply
とtransform
思いますが、うまくいきませんでした。これを試みるために使用している簡単なコードは次のとおりです。
dlply(df, .(creatorid, responderid), transform, repetition=function(dfrow) {
seq(0,nrow(dfrow)-1)
})
残念ながら、これは次のエラーをスローします (私の実際のデータから貼り付けました - 最初の繰り返しは 166 回表示されます):
Error in data.frame(list(id = c(39684L, 55374L, 65158L, 54217L, 10004L, :
arguments imply differing number of rows: 166, 0
このタスクを達成するための簡単で効率的な方法について何か提案はありますか?