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

如何基于前期访问记录修改数据集中已有的GE变量值?

解决方案

首先需要把GE列转换成数值类型(当前是字符串格式,无法进行数值计算),然后按照id分组,计算累积最大值——这个逻辑刚好匹配你的规则:只要前期随访有过1,后续所有记录的GE就会保持1;如果前期全是0,当前就是0。

方法一:用dplyr包(简洁高效)

# 先转换GE为数值型
fichier$GE <- as.numeric(fichier$GE)

# 若未安装dplyr,先运行 install.packages("dplyr")
library(dplyr)

# 分组计算累积最大值,直接覆盖原GE列(也可改成GE_adjusted保留原数据)
fichier <- fichier %>%
  group_by(id) %>%
  mutate(GE = cummax(GE)) %>%
  ungroup()

方法二:用基础R(无需额外装包)

# 转换GE为数值型
fichier$GE <- as.numeric(fichier$GE)

# 按id分组计算累积最大值
fichier$GE <- ave(fichier$GE, fichier$id, FUN = function(x) cummax(x))

效果验证

运行代码后,GE列会更新为:
0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1
完全符合规则:前6个月全为0,第7个月出现1后,后续所有月份的GE统一设为1。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 13:02:47