[英]classifying R data frame based on the values in the rows
I have a data frame which contains two columns as shown below:- 我有一个包含两列的数据框,如下所示:-
x values
1 tag -2
2 tag -3
3 x1 4
4 tag 5
5 x1 6
6 x2 7
7 x3 5
How do I create a third col called set based on the "tag" value in x col as shown below? 如何基于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
Try this easy solution: 试试这个简单的解决方案:
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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.