首页 > 解决方案 > 将增量计数器添加到 R 中的数据帧

问题描述

我有一个由 3 列组成的数据框,第三列('V3')包含实验期间出现的标记的名称。我想添加另一列,告诉我每个标记在该实例之前该特定标记出现了多少次。我已经在 R 中完成了它而没有使用 tidyverse,但它非常耗时,我想知道你是否可以帮助我使用 tidyverse 来完成它。

目前我的脚本是这样的:

data$counter <- NA
x<-1
for (i in 1:nrow(data)){
 if ((str_detect(data$V3[i], 'NEGATIVE'))==TRUE){
  data$counter[i] <- x
  x <- x +1
 }
}

标签: rtidyverse

解决方案


您可以使用 执行此操作group_by(),然后使用 生成计数器seq_along()

图书馆(dplyr)

data %>%
  group_by(V3) %>%
  mutate(counter = seq_along(V3)) %>%
  ungroup()

推荐阅读