R语言中基于含P标记的字符向量生成迭代编号列的实现方法
实现方法
你可以通过累计P的出现次数结合向上取整的逻辑快速实现需求,不需要额外依赖包的基础R写法如下:
# 已知参数 number <- 2 iterations <- 2 df <- data.frame(var = c("P", "a", "b", "P", "d", "a", "k", "P", "e", "q", "s", "P", "d", "v", "i", "j")) # 新增iter列逻辑:统计到当前行的P累计出现次数,每满number个迭代号+1 df$iter <- ceiling(cumsum(df$var == "P") / number)
如果习惯使用tidyverse语法,写法如下:
library(dplyr) df <- df %>% mutate(iter = ceiling(cumsum(var == "P") / number))
运行后输出的df即可完全匹配你给出的预期结果。
内容的提问来源于stack exchange,提问作者Electrino
相关产品推荐
相关产品推荐

