IGR的合作作者网络边缘列表
我有一些出版物的数据表如下:IGR的合作作者网络边缘列表,r,matrix,networking,igraph,adjacency-matrix,R,Matrix,Networking,Igraph,Adjacency Matrix,我有一些出版物的数据表如下: PubID Author 169759 ZJ 174843 RA 174843 DJ 174843 JP 174843 GS 174843 Tv 171051 MC 171051 JR 171051 CW 171719 PB 171719 MD 171719 FO 169759 FO 173847 RA 173847 DJ 并希望将其转化为一个edgelist,用于输入igraph,以显示合著网络(例如,RA和DJ一起有两篇论文)
PubID Author
169759 ZJ
174843 RA
174843 DJ
174843 JP
174843 GS
174843 Tv
171051 MC
171051 JR
171051 CW
171719 PB
171719 MD
171719 FO
169759 FO
173847 RA
173847 DJ
并希望将其转化为一个edgelist,用于输入igraph,以显示合著网络(例如,RA和DJ一起有两篇论文)。我总共有大约7000个ID。我对网络位没问题,但我就是不知道如何从数据中获取边缘列表。你能帮忙吗 你在找这样的东西吗:
library(igraph)
PubID <- c("169759","174843","174843","174843","174843","174843","171051","171051","171051","171719","171719","171719","169759","173847","173847")
Author <- c("ZJ","RA","DJ","JP","GS","Tv","MC","JR","CW","PB","MD","FO","FO","RA","DJ")
dt <- data.frame(Author,PubID)
levs <- unique(unlist(dt, use.names = FALSE))
adj <- table(lapply(dt, factor, levs))
g1 <- graph_from_adjacency_matrix( adj )
plot(g1)
库(igraph)
PubID这是一个基于与tidyverse的一些数据争论的解决方案。作者之间的常见论文数存储在“边缘属性”中的n
PubID%
内部联接(dt,by=“PubID”)%>%
过滤器(作者id.x<作者id.y)%>%
计数(Author.x,Author.y)%>%
来自数据帧的图形(定向=假)->g1
绘图(g1)
作为数据帧(g1,what=“edges”)
请指定您要使用的软件包。我正在通过RStudio使用R,并将使用igraph进行网络分析。文献计量数据来自上述格式的内部系统。是的,非常类似于此,但我不希望pub ID包含为节点,我只希望作者之间的链接根据他们总共有多少篇论文进行加权-不转换数据是否可行?您可能不需要将作者ID转换为整数。一个鲜为人知的事实是,R比较运算符(通过字典排序)适用于字符:“aa”
给出TRUE
。在这种情况下,作者不是字符。当然,所以只要使用一个tibble或stringsAsFactors=FALSE
。谢谢蒂埃里-这正是我需要的-非常感谢。