[问题] 计算重复次数

楼主: 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