想要请教一下,我想要计算时间周期,规则是:一条数据会有5天的影响期,如果第二个时间段和第一个时间段的间隔大于5天,则第二个时间的周期为10天,如果小于5天,则是一开始的5天加上这两个时间的的时间间隔,以此类推,但是我按照这个逻辑去处理一个列表时总是出错,但检查了好久也没有找到错误在那,有没有大神能帮我解答一下

程序是:
for (i in 1:length(test)) {
test[[i]]$period[1]=3
for (j in 2:nrow(test[[i]])) {
if(difftime(test[[i]]$time[j],test[[i]]$time[j-1],units = "days")>3){
test[[i]]$period[j]<-test[[i]]$period[j-1]+3
}else{
test[[i]]$period[j]<-test[[i]]$period[j-1]+difftime(test[[i]]$time[j],test[[i]]$time[j-1],units = "days")
}
}
}
报错:Error in if (difftime(test[[i]]$time[j], test[[i]]$time[j - 1], units = "days") > :
missing value where TRUE/FALSE needed
不知道是不是判断那部分写错了,一直没有找到错误的地方,求解答