区分R

时间:2018-04-27 02:01:21

标签: r igraph

我遇到了一个充满挑战的情况:
我有两个单独的数据集为df1和df2; df1是HR数据,df2是大公司的电子邮件通信 df1列为:ID(电子邮件地址),部门,...
df2列为:发送者(电子邮件地址),接收者(电子邮件地址);两个节点之间可以有多封电子邮件 附:删除所有隔离区,电子邮件通信中没有循环
我还创建了一个图形对象,如下所示:

g1<- graph.data.frame (df2[1,2], directed= T, vertices= df1)  

现在我想区分内部联系(两个节点在同一个部门)和外部联系。我使用了以下代码:

E(g1)$internal= as.numeric ( df1$dept[df2$sender]== df1$dept[def2$receiver])

但结果是所有的NA。我知道它发生,因为以下代码的每一部分(df1 $ dept [df2 $ sender]或df1 $ dept [def2 $ receiver]也只返回NAs。 你能帮我解决这个纠结吗?

1 个答案:

答案 0 :(得分:0)

您的方法几乎就在那里,但您需要您的部门向量来识别发件人的索引。您可以通过命名部门代码向量中的元素来执行此操作。一些示例代码说明了:

<template>
    <b-table striped hover :items="employees"></b-table>
</template>

<script>
    export default {
        data() {
            return {
                employees: []
            }
        },

        methods: {
            getEmployees() {
                axios.get('/api/employees')
                    .then((response) => {
                        this.employees = response.data;
                        console.log(this.employees);
                      }
                   )


            }
        },

        created() {
            this.getEmployees()
        }
    }
</script>

回过头来看,我们看到边缘8-> 5和3-> 6是内部的,因为8和5都在'B'中,3和6都在'C'中,所以我们正在做我们做的事情意图。