删除R文件中重复两次的无序对

2024-01-28

我在 R 中有一个这样的文件。

**0 1** 
0   2
**0 3**
0   4
0   5
0   6
0   7
0   8
0   9
0   10
**1 0**
1   11
1   12
1   13  
1   14
1   15
1   16
1   17
1   18
1   19
**3 0**

正如我们所看到的,其中有类似的无序对(标记对),例如,

 1  0 

and

 0  1

我想删除这些对。我想计算我拥有的此类对的数量,并将计数附加在重复的丝束前面。如果不重复,则第三栏应写1。

例如(输出文件的示例)

0   1    2
0   2    1
0   3    2
0   4    1 
0   5    1
0   6    1
0   7    1
0   8    1
0   9    1
0   10   1
1   11   1
1   12   1
1   13   1
1   14   1
1   15   1
1   16   1
1   17   1
1   18   1
1   19   1

我怎样才能在R中实现它?


这是一种使用方法transform, pmin and pmax按行对数据重新排序,然后aggregate提供计数:

# data
x <- data.frame(a=c(rep(0,10),rep(1,10),3),b=c(1:10,0,11:19,0))

#logic
aggregate(count~a+b,transform(x,a=pmin(a,b), b=pmax(a,b), count=1),sum)
   a  b count
1  0  1     2
2  0  2     1
3  0  3     2
4  0  4     1
5  0  5     1
6  0  6     1
7  0  7     1
8  0  8     1
9  0  9     1
10 0 10     1
11 1 11     1
12 1 12     1
13 1 13     1
14 1 14     1
15 1 15     1
16 1 16     1
17 1 17     1
18 1 18     1
19 1 19     1
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

删除R文件中重复两次的无序对 的相关文章

随机推荐