从“经典"目录创建网络文件.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