根据行中的值对R数据帧进行分类

itt*_*ill 0 r dplyr

我有一个数据框,其中包含两列,如下所示: -

                x        values
1              tag         -2
2              tag         -3
3              x1           4
4              tag          5
5              x1           6
6              x2           7
7              x3           5
Run Code Online (Sandbox Code Playgroud)

如何根据x col中的"tag"值创建第三个名为set的col,如下所示?

               x          values   set
1              tag         -2     set1
2              tag         -3     set2
3              x1           4     set2
4              tag          5     set3
5              x1           6     set3
6              x2           7     set3
7              x3           5     set3
Run Code Online (Sandbox Code Playgroud)

Ter*_*ror 5

试试这个简单的方案:

df$set<-paste0("set",cumsum(df$x=="tag"))

df
    x  set
1 tag set1
2 tag set2
3  x1 set2
4 tag set3
5  x1 set3
6  x2 set3
7  x3 set3
Run Code Online (Sandbox Code Playgroud)