如何在R中创建单个分支实体/死角的外部叶列表?
我有一个相当大的树状结构/树状图状结构/网络(想想谱系),我想创建一个单连通叶/节点列表 在家谱学中,我相信类似的东西被称为“Spitzenahnen”(德语)/但我相信它是特定于“没有已知的父母”,不一定没有后代。所以基本上结构中的死胡同,而不仅仅是顶部或底部是我想要找到的 我从一个矩阵中看到了结果,以及如何在R中使用它,但不确定如何应用它来获得我希望获得的具体结果 我有数千个节点,有多个起点和终点。我想创建一个节点/叶列表,其中只有一个连接的节点将其连接到树。因此,如果有两个或更多的节点连接(有些最多有24个),我不想在列表中看到它 使用Jing Hua Zhao的“”中的标记图形,我只想看到突出显示的节点,但一些适用的节点可能深入到web中,而不一定位于“边缘”如何在R中创建单个分支实体/死角的外部叶列表?,r,list,R,List,我有一个相当大的树状结构/树状图状结构/网络(想想谱系),我想创建一个单连通叶/节点列表 在家谱学中,我相信类似的东西被称为“Spitzenahnen”(德语)/但我相信它是特定于“没有已知的父母”,不一定没有后代。所以基本上结构中的死胡同,而不仅仅是顶部或底部是我想要找到的 我从一个矩阵中看到了结果,以及如何在R中使用它,但不确定如何应用它来获得我希望获得的具体结果 我有数千个节点,有多个起点和终点。我想创建一个节点/叶列表,其中只有一个连接的节点将其连接到树。因此,如果有两个或更多的节点连接
看起来您正在使用以下数据:
pre <- read.table(text="pid id father mother sex affected
10081 1 2 3 2 1
10081 2 0 0 1 2
10081 3 0 0 2 1
10081 4 2 3 2 1
10081 5 2 3 2 2
10081 6 2 3 1 2
10081 7 2 3 2 2
10081 8 0 0 1 2
10081 9 8 4 1 2
10081 10 0 0 2 2
10081 11 2 10 2 2
10081 12 2 10 2 1
10081 13 0 0 1 2
10081 14 13 11 1 2
10081 15 0 0 1 2
10081 16 15 12 2 2",header=T)
产生
(或者类似的,默认布局算法是随机的)
重塑数据有点混乱,但我的想法是为每个联合创建伪节点,从而生成一个子节点。然后我将父节点连接为传入节点,子节点连接为传出节点
基本上,您描述的所有节点都有一个连接,这意味着在图形设置中,它们都有阶数1。我们可以将这些标签更改为红色以获得
V(gg)$label.color<-"black"
V(gg)[degree(gg)==1 & type=="person"]$label.color<-"red"
plot(gg)
你能为我们提供一些数据吗?集合的
dput
,以及您迄今为止尝试过的任何代码都会有用,谢谢。这个看起来很结实。让我今天试一试,确定一下。
V(gg)$label.color<-"black"
V(gg)[degree(gg)==1 & type=="person"]$label.color<-"red"
plot(gg)
V(gg)[degree(gg)==1 & type=="person"]$name
# [1] "1" "3" "5" "6" "7" "8" "9" "10" "13" "14" "15" "16"