全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
1445 0
2017-12-01
悬赏 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)
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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