PACK.DESC | date | value.ttl |
KEPPRA TAB FLM CTD 500MG 30 | 201709 | 38097770 |
DEPAKINE TAB RTD FC 500MG 30 | 201701 | 23528110 |
LEVETIRACETAM TAB 500MG 30 | 201601 | 10726.05 |
CARBAMAZEPINE TAB 100MG 100 | 201505 | 10703.4 |
PHENOBARBITAL SOD VIAL IM 100MG 1ML | 201506 | 10700.59 |
… | … | … |
我想在当前数据最后新加一列为这行产品最近三个月的销量总和,在第一行增加列的数字为PACK.DESC为PKEPPRA TAB FLM CTD 500MG 30这个产品,date为201707-201709的所有value.seg的数值相加,请问要怎么操作?
date<-unique(full$date)
date<-sort(date)
rank<-c(1:length(date))
datepara<-data.frame(date,rank)
full<-merge(full,datepara,by.x="date",by.y="date",all.x = T)
full$R3M.ttl<-0
for (i in 2:max(full$rank)) {
for (j in i-2:i) {full$R3M.ttl[full$rank==i]<-full$R3M.ttl[full$rank==i]+full$value.ttl[full$rank==j]}
}
上面是我写的代码,但是报错了:
Error in full$R3M.ttl[full$rank == i] <- full$R3M.ttl[full$rank == i] + :
replacement has length zero
而且这个写法无法对应到每个产品。
有没有好心人可以帮忙看一下呀~