You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在R中处理含NA的条件累积求和并跟踪阶段波动

R语言:带NA处理的累积得分计算与波动阶段跟踪

原始数据

df <- data.frame(time = 0:9,
  y_ex1 = c(1,NA,0,1,NA,NA,NA,1,0,0),
  y_ex2 = c(1,NA,0,0,NA,NA,NA,1,0,0),
  y_ex3 = c(1,NA,0,1,NA,NA,NA,0,0,0),
  y_ex4 = c(1,NA,0,0,NA,NA,NA,0,0,0),
  y_ex5 = c(1,1,0,0,1,1,1,0,0,0)
)

需求说明

1. 累积得分计算规则

  • 计算累积和,遇到0则重置为0,重新开始累积
  • 遇到NA时:
    • 若NA前后的非NA数值相同,累积和继续(NA按前后相同数值的累积逻辑计算)
    • 若NA前后的非NA数值不同,每个NA加0.5

2. 波动阶段(wave)跟踪规则

当数值在0与1之间切换时,视为开启一个新的波动阶段,示例参考y_ex1、y_ex4的波动序列。

问题

尝试用循环实现上述逻辑效果不佳,寻求Base R或Tidyverse的解决方案。


内容的提问来源于stack exchange,提问作者cdd

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 16:22:55