楼主: zuiaitw
2240 3

[问答] R语言 APPLY函数出现$无法对原子向量起作用,应该如何解决? [推广有奖]

  • 0关注
  • 0粉丝

VIP1

初中生

0%

还不是VIP/贵宾

-

威望
0
论坛币
487 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
36 点
帖子
3
精华
0
在线时间
26 小时
注册时间
2018-10-17
最后登录
2021-12-31

楼主
zuiaitw 发表于 2019-3-10 02:24:59 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
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
请教应该如何修正或者编写。
二维码

扫码加我 拉你入群

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

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

关键词:分组操作

沙发
zhou1_20 发表于 2019-3-10 10:51:12
apply的用法不对吧,在看下参考文档

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

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

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-2-7 19:15