WINDOWS 10环境,R studio环境,想进行分组操作,如何列def1的i行和def1的上一行i-1行或者def2的i行和def1的上一行i-1行两者只有一个不满足,在def3【i】 的值就等于def【i-1】+1,代码如下:
mydata2$counts[1] <- 1
i <- as.numeric(character(nrow(mydata2)))
myfun2 <- function(mydata2,def1,def2,def3){
repeat {
i <- i+1
if(mydata2$def1[i] == mydata2$def1[i-1] && mydata2$def2[i] == mydata2$def2[i-1]){
mydata2$def3[i] <- mydata2$def3[i-1]
}else{
mydata2$def3[i] <- mydata2$def3[i-1]+1
}
if(i == as.numeric(nrow(mydata2))) break
}
}
apply(mydata2,1,myfun2,def1='small_startdate',def2 = 'small_enddate',def3 = 'counts')
返回错误:
Error in mydata2$def1 : $ operator is invalid for atomic vectors
请教应该如何修正或者编写。


雷达卡




京公网安备 11010802022788号







