我有一个数据框,其中包含两列,如下所示: -
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)
试试这个简单的方案:
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)