楼主: 1雨痕1
1480 0

[问答] sapply函数出现Error in x$depth : $ operator is invalid for atomic vectors的错误 [推广有奖]

  • 0关注
  • 0粉丝

已卖:1份资源

高中生

95%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
588 点
帖子
17
精华
0
在线时间
33 小时
注册时间
2017-6-16
最后登录
2019-4-17

楼主
1雨痕1 发表于 2017-12-1 20:44:01 |AI写论文
5论坛币
在运行以下代码的时候会出现Error in x$depth : $ operator is invalid for atomic vectors的错误提示
我想根据enzy中的depth这一列的属性把计算结果录入在不同的行,如果只使用if else则只能赋值前4行,使用sapply函数又会出现上面的错误提示,有没有大神教下这代码要怎么改

me<-function(x){a<-matrix(1:20, nrow=16,ncol=5)
if(x$depth=="A"){
  for (i in 1:5){
a[1:4,i]<- tapply(x[,i+5],x[,2],mean)}
  }elseif(x$depth=="B"){
    for (i in 1:5){
      a[5:8,i]<-tapply(x[,i+5],x[,2],mean) }
  }elseif(x$depth=="C"){
    for (i in 1:5){
      a[9:12,i]<-tapply(x[,i+5],x[,2],mean) }
    }else {
      for (i in 1:5){
       a[13:16,i]<- tapply(x[,i+5],x[,2],mean) }
      }
colnames(a)<-names(x[,6:10])
rownames(a)<-rep(names(tapply(x[,6],x[,2],mean)),4)
return(a)
}
enzy<-sapply(enzy,me)

关键词:operator vectors apply函数 invalid Atomic

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

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