【发布时间】:2019-02-10 16:59:48
【问题描述】:
在 R 中,我有如下图“gD”
IGRAPH 40b044a UN-- 17 38 --
+ attr: name (v/c)
+ edges from 40b044a (vertex names):
[1] Jane --Jay Jane --Brian Jane --David Jane --Sarah
[5] Jane --Tom Jay --Christian Jay --David Jay --Sarah
[9] Jay --Dave Jay --Josep Jay --Ray Brian --David
[13] Brian --Sarah Brian --Christin Brian --Tom Christian--Sarah
[17] Christian--Jim Christian--Dave Christian--Josep Michael --David
[21] Michael --Christin Michael --Tim David --Tim David --Tom
[25] David --Dave David --Zemma David --Ray Jim --Josep
[29] Christin --Tom Christin --Zemma Tim --Dickson Tim --Zemma
+ ... omitted several edges
这是 org.unit 表,我需要添加以下属性,即等级和组织。 组织单位表
name grade org
1 Jane 11 HR
2 Tom 11 Finance
3 David 9 Marketing
4 Jay 9 Marketing
5 Brian 8 GTO
6 Christian 7 GTO
7 Tim 5 Commercial Bank
我尝试使用set.vertex.attribute(),但我不知道如何让它通过数据框并且只向现有节点添加属性。
例如,在 org.unit 表中 Jane 的成绩是 11。我需要首先从图表 dD 中检查 Jane 并从 org.unit 表中分配 Jane 的相应等级。
当我在下面尝试时,我收到错误消息“总结期间出错:3 个参数传递给 '$' 这需要 2 个”
gD <- gD %>%set_vertex_attr( .,name = 'grade', index = V(gD), value = sapply(V(gD)$name, function(x){org.unit %>% filter( org.unit$name == x) %>% org.unit$grade }))
我花了 2 天时间尝试不同的方法,但都没有奏效。请帮忙。
【问题讨论】:
-
欢迎来到 StackOverflow。感谢您尝试包含您的图表/数据,但没有人愿意输入所有这些内容。相反,请使用
dput(gD)并将输出粘贴到您的问题中,以便我们可以将您的图表导入 R 并进行调试。跨度>
标签: r networking igraph