简体   繁体   English

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

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM