从“经典"目录创建网络文件.R中的数据框-igraph [英] Create network files from "classic" dataframe in R - igraph

查看:58
本文介绍了从“经典"目录创建网络文件.R中的数据框-igraph的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的目标是从经典"数据框架开始在R中开发网络可视化.因此,我必须创建两个文件:节点和链接.我当前的数据集如下:

My goal is to develop a network visualization in R, starting from a "classic" data frame. I thus have to create two files: nodes and links. My current data set looks like this:

Driver   Insurance_taker  Counterparty1    Counterparty2   Counterparty3  Counterparty4   Counterparty5
Allan    Steven           NA               Patrick         Oliver         Jean             William
Ana      Anastasia        Max              Pierre          Jack           Sam              NA

样本数据(请注意,数据中有多个NA):

Sample data (Please note that there are multiple NAs in the data):

mydata <- data.table(Driver=c("Allan", "Ana"),
      Insurance_taker = c("Steven", "Anastasia"), 
      Counterparty1= c(NA, "Max"),
      Counterparty2= c("Patrick", "Pierre"),
      Counterparty3= c("Olivier", "Jack"),
      Counterparty4= c("Jean", "Sam"),
      Counterparty5= c("William",NA))

我的目标是拥有一个名为"nodes.csv"的文件,例如:

My goal is to have one file called "nodes.csv" like:

Names      Type
Allan      Driver
Ana        Driver
Steven     Insurance_taker
Anastasia  Insurance_taker
...        ...

我已经设法获得了这个文件,但我还想创建另一个看起来像这样的文件(假设称为链接"):

I have managed to get this file, but I also want to create another file (called "links" let's say) that would look like this:

From        To         Weight       Type
Patrick     Allan      30           witness1_driver
Allan       Steven     20           car_driver
....        ...        ...          ....

权重将根据关系类型确定(例如,见证人1驾驶员=>权重= 30)任何帮助将不胜感激.

The weights will be determine according to the relationship type (eg witness1_driver => weight = 30) Any help would be really much appreciated.

非常感谢!!:)

推荐答案

我认为您只需要融合 mydata .这是一个选择:

I think you just need to melt mydata. Here is one option:

melt(mydata, id.vars = "Driver", varying=names(mydata)[-1])

# Driver        variable     value
# 1:  Allan Insurance_taker    Steven
# 2:    Ana Insurance_taker Anastasia
# 3:  Allan   Counterparty1        NA
# 4:    Ana   Counterparty1       Max
# 5:  Allan   Counterparty2   Patrick
# 6:    Ana   Counterparty2    Pierre
# 7:  Allan   Counterparty3   Olivier
# 8:    Ana   Counterparty3      Jack
# 9:  Allan   Counterparty4      Jean
# 10:    Ana   Counterparty4       Sam
# 11:  Allan   Counterparty5   William
# 12:    Ana   Counterparty5        NA

这篇关于从“经典"目录创建网络文件.R中的数据框-igraph的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆