0
我的目标识别数据帧的行是要在R.R:连接在由分担值在两列中
两列之间基于共享值的单个数据帧在本例中内识别“连接”的行,有是由与每个唯一片段相对应的整数标识的10个唯一片段(即,数据簇)。每行表示已经确定在彼此的特定距离阈值内的两个段。列“segA”和“segB”之间没有明显的区别,它们仅用于跟踪连接的段对。 “dist”列表示该对段之间的距离,但在这一点上并不真正需要,因为数据帧仅包含那些被认为“连接”的段对。
我试图找出一种方法来识别所有在“segA”或“segB”中具有至少一个共享值的行,这表示行之间的连接段。我最初的尝试对于循环和逻辑语句(我是R编程新手)而言已经过分复杂,所以我会非常感谢任何简洁的解决方案!
实施例:
df = data.frame(
segA = c(1, 1, 2, 4, 6, 7, 9),
segB = c(2, 3, 4, 5, 8, 8, 10),
dist = c(0.5321, 0.3212, 0.4351, 0.1421, 0.5125, 0.1692, 0.3218)
)
df
segA segB dist
1 1 2 0.5321
2 1 3 0.3212
3 2 4 0.4351
4 4 5 0.1421
5 6 8 0.5125
6 7 8 0.1692
7 9 10 0.3218
行1和2被连接,因为它们都包含段 “1”。
行3和1被连接,因为它们都包含段“2”,等等
即使行2和3不被共享段的存在直接连接,它们被连接时,整体,由通过第1行
它们的相互连接的所需的最终输出将是这样的:
(1) = 1, 2, 3, 4, 5
(2) = 6, 7, 8
(3) = 9, 10
,其中(1),(2)和(3)代表的不同整体段和它们的部件,其是直接/相互连接。
看样子你有一个连接的网络问题。我从来没有使用它,但也许igraph软件包或类似的东西会有用。 – Dave2e
有时候知道问题的名称是战斗的一半。谢谢你。 – Gerald