作业帮 > 数学 > 作业

R语言 逻辑运算我有三列数 A B C,求当同时满足A>30,B>90的行数对应的C的均值,怎么样用逻辑运算求解?

来源:学生作业帮 编辑:作业帮 分类:数学作业 时间:2024/05/14 03:20:13
R语言 逻辑运算
我有三列数 A B C,求当同时满足A>30,B>90的行数对应的C的均值,怎么样用逻辑运算求解?
首先找出对应的行数:ind 30 & B>90
此时ind也是个列,内容都是true和false,维数和A,B一样,是true的就是满足上面关系的行
此时求平均就好了:mean(C[ind])
再问: 我这样输入之后它只会显示第一个数出来。。第一个是FALSE 后面的就没有算了很奇怪
再答: 你能不能贴一下你的运算过程,我给你示范一下
> A B ind3 & B ind
[1] FALSE FALSE FALSE FALSE TRUE TRUE TRUE TRUE TRUE TRUE

你的A和B是相同维数吗?
再问: 噢。。我打的是A>3&&B3&B[i]
j=rbind(j,i)
}
}
我想用这样可以找出所有满足条件的I为什么不对?
再答: R语法有的是独家的,请注意用法。首先if语句的判断条件要在括号里其次rbind不是这么用的,你要这么写j=vector()
for (i in 1:10) {
 if( A[i]>3 & B[i]<7 )
   j=c(j,i)
  }
}
# 之后j就是你要的符合条件的行数最后,R调用循环会很慢很没效率,如果你会用矩阵和向量来进行高维度操作,可能节省上百倍的时间。