arrays - R 反向复位计数器到复位时间
问题描述
嗨,我有一个数据框
输入:Data$cyclesFromLastError
每次发生错误时都会休息。
输入:
0 1 2 3 4 0 1 2 3 0 1 2 3 4 5
我想创建新列输出:Data$cyclesToNextError
4 3 2 1 0 3 2 1 0 5 4 3 2 1 0
我需要那个脚本
解决方案
我们可以使用ave
, 在每次出现 0 时创建组,x
并rev
为每个组创建序列。
ave(x, cumsum(x == 0), FUN = rev)
#[1] 4 3 2 1 0 3 2 1 0 5 4 3 2 1 0
数据
x <- c(0, 1, 2, 3, 4, 0, 1, 2, 3, 0, 1, 2, 3, 4, 5)
推荐阅读
- javascript - Jquery - 确保选中所有复选框
- reactjs - auth0 React Native 挂在 auth0.webAuth.authorize()
- here-api - 错误消息:“通过交通限制可能适用”(此处为 Maps Fleet Telematics API)
- java - 如果过滤值为空,如何跳过流过滤器?
- laravel - 如何为 ZipArchive addFile 设置动态路径
- android - 使用 Beacons 在后台同步 Android 应用和 BLE
- android - 带有自定义适配器的 Android ListView 有视觉故障
- sql - 如何从具有不同条件的相同数据的并集中获得单个结果
- r - 不能将自动绘图与 tsibble 一起使用
- elasticsearch - 弹性搜索 - 如果没有为另一个字段找到匹配项,则进行条件字段查询