r - 如何在 R 中使用循环仅对负数进行平均,直到在向量中看到绝对值> 1 的数字?
问题描述
假设我有一个向量 A=c(0.866,-0.142,-0.680,1.600,-1.068)
如何使用循环仅对负数进行平均,直到绝对值> 1的第一个数字?
我正在考虑在 for 循环中嵌套一个 while 循环,但我不确定它是否是正确的轨道。
谢谢!
解决方案
这个没有循环的怎么样?
A=c(0.866,-0.142,-0.680,1.600,-1.068)
mean(A[cumprod(abs(A) <= 1) & A<0])
[1] -0.411
cumprod(abs(A) <= 1)
将返回真,直到出现绝对值大于 1 的第一个值,组合它将A<0
仅返回负值。此后您可以采取平均措施。
推荐阅读
- go - JWT 不返回 SigningKey
- php - 将 PHP api 连接到 React-Native 以进行用户登录
- r - 在数据框列中拆分数组所需的函数
- javascript - 获取鼠标下不是第一个元素的父元素的第二个元素
- .net - Azure App Service Web 应用无法连接到 vnet 中的容器实例
- php - 如何在模型中加载子项和父项关系作为附加属性 inlaravel
- python-3.x - Pandas:分类列和每个类别的行插入
- android - 如何在android-studio上使用这个功能什么'查看组'
- azure - Microrosft 团队 Usupported Manifest 版本
- r - 闪亮的服务器服务目录索引而不是应用程序