R语言中基于指定条件为数据框新增列x的代码求助
R代码实现方案
实现逻辑
你需要的x列本质是对year列中值为1的出现次数做累计求和,每次遇到year=1时计数加1,刚好匹配需求的递增规则。
代码示例
基础R版本
# 直接新增x列 data$x <- cumsum(data$year == 1)
tidyverse(dplyr)版本
library(dplyr) data <- data %>% mutate(x = cumsum(year == 1))
结果验证
运行后关键行数值完全匹配需求:
- 第1行
x=1 - 第12行(第二次出现year=1)
x=2 - 第23行(第三次出现year=1)
x=3
内容的提问来源于stack exchange,提问作者Ronak Kumar
相关产品推荐
相关产品推荐

