全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
2241 3
2019-03-10
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
请教应该如何修正或者编写。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2019-3-10 10:51:12
apply的用法不对吧,在看下参考文档
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2019-3-10 13:20:21
zhou1_20 发表于 2019-3-10 10:51
apply的用法不对吧,在看下参考文档
谢谢您的答复,请问如果我要实现目的。应该如何编写呢
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2019-3-10 13:20:58
zhou1_20 发表于 2019-3-10 10:51
apply的用法不对吧,在看下参考文档
数据大概是800万,使用FOR循环太慢了
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群