1
我想要一个具有ID列(v1
,全部唯一)和“链接”ID列(v2
)的数据框的子集。 v2
的期望是它可能包含NA
s,但它在那里,v1
的相应元素不会出现在v2
的其他地方。另外,预计列之间的关系是对称的:其中有一个条目x,在v2
中,该行的v1
条目y被镜像到另一行,其中v1
具有x并且v2
具有y。最后一个标准是关系不是自反的:即x!= y。由列之间的不寻常关系子集数据帧
我想将数据框的子集分配到不符合预期标准的元素。
下面是一些示例的数据来说明:
set.seed(1)
dfr <- data.frame(v1=letters,v2=rev(letters))
dfr[sample(26,10),2]<-NA
dfr[sample(26,5),2]<-sample(letters,5)
dfr
v1 v2
1 a z
2 b <NA>
3 c x
4 d w
5 e <NA>
6 f u
7 g <NA>
8 h s
9 i i
10 j <NA>
11 k p
12 l <NA>
13 m f
14 n <NA>
15 o l
16 p k
17 q j
18 r e
19 s <NA>
20 t g
21 u <NA>
22 v e
23 w <NA>
24 x q
25 y x
26 z a
所以行1,2,11,14,16,和26都符合标准,并欲识别的其余部分。
我已经尝试了一些使用match
的解决方案,但NA
正在引发问题。它也可能依赖于在这种情况下v2
基于rev(v1)
的事实,而更一般的解决方案不能做出这样的假设。
谢谢你,第二个是正是我想要的。好的调用'paste'。 – James