[問題] 計算重複次數

作者: jasonfun44 (kk123)   2016-10-22 13:29:57
問題
程式諮詢:
想計算每筆id重覆次數
[軟體熟悉度]:
入門(寫過其他程式,只是對語法不熟悉)
[問題敘述]:
aaa為data.table
我想對其id做排序後,再對日期做排序
然後計算每筆id重複次數給入新增count欄位
aaa<-Rawdata[order(id,name,date),]
for(i in 1:100){
if( aaa[i,id]==aaa[i+1,id] & aaa[i,name]==aaa[i+1,name] ) {
aaa[c(i),count]<=z
z=z+c(1)
}
else( aaa[i,id]!=aaa[i+1,id] | aaa[i,name]!=aaa[i+1,name] )
{
aaa[c(i),count]<=z
aaa[c(i+1),count]<=c(1)
z<-1
}
}
不知道以上這段程式碼要如何改,懇請各位大大幫我檢查位在哪,謝謝
[環境敘述]:
Win10 r3.31
作者: celestialgod (天)   2016-10-22 13:39:00
bb=aaa[,count:=.N,by='id'] 然後再merge回去merge(aaa,bb,by='id')
作者: jasonfun44 (kk123)   2016-10-22 14:08:00
是否能第一筆重複資料count=1第二筆為count=2??不過謝謝大大
作者: celestialgod (天)   2016-10-22 14:09:00
by ID cumsum duplicated id就好aaa[,count:=cumsum(duplicate(id)),by='id']推文都未測試,如有typing,解讀不出來再推文吧第一行要改成.(count=.N)才對
作者: jasonfun44 (kk123)   2016-10-22 22:31:00
aaa[,count:=cumsum(duplicated(id)),by="id"]跑不出

Links booklink

Contact Us: admin [ a t ] ucptt.com