楼主: 小麦呀
1747 2

[学习分享] R 语言社会网络分析 孤立点数据处理 [推广有奖]

  • 0关注
  • 5粉丝

等待验证会员

硕士生

15%

还不是VIP/贵宾

-

威望
0
论坛币
408 个
通用积分
174.8055
学术水平
4 点
热心指数
4 点
信用等级
4 点
经验
497 点
帖子
33
精华
0
在线时间
245 小时
注册时间
2020-7-21
最后登录
2024-4-25

相似文件 换一批

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
在用R 语言处理社会网络数据时,不知道孤立点该如何放到原本的数据中...
因为社会网络数据的处理基础是A到B,此时假如有孤立点C,没有C到其他点的边,就不能直接分析。



可能的解决方法:
igraph
一、在原始数据上新增一个点,假设将所有孤立点与这个点连接,建立边连接:
1. 画完图后直接删掉这个点。
2. 将数据转换为矩阵,再在矩阵中将这个点删除。

二、先画图,再这个图的基础上新增一个点。
三、画原无孤立点的图,再新增一个全是孤立点的网络图,再plot跟原来的图合并,此时生成有孤立点的图

Rgraphviz
将igraph转换为graphnel后,同理,在原始数据的基础上新增或移除该点。





二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:社会网络分析 社会网络 网络分析 数据处理 社会网 社会网络 孤立点

本帖被以下文库推荐

沙发
llb_321 在职认证  发表于 2022-6-1 08:56:25 |只看作者 |坛友微信交流群
在igraph中,一种方法:
不包括孤立点X的邻接矩阵M,增加一行一列,建立X与M中任一点的关系,形成新的邻接矩阵M1。
用M1生成网络图对象G1,并生成这个网络图的layout比如说L1,但是不画图。
然后用原有的M,生成网络图对象G。
关键步骤来了,在plot(G)函数中,指定layout=L1这个参数,然后你会发现,那个孤立点也在里面。
参考代码如下:
  1. library(igraph)
  2. #生成邻接矩阵的自定义函数
  3. adjMFunc <- function (n) {
  4.   m <- diag(0, n)
  5.   m[lower.tri(m)] <-
  6.     sample(3:0,
  7.            length(m[lower.tri(m)]),
  8.            replace = T)
  9.   m[upper.tri(m)] <- m[lower.tri(m)]
  10.   m[upper.tri(m)] <- t(m)[upper.tri(m)]
  11.   m
  12. }
  13. #生成原矩阵
  14. M<-adjMFunc(6)
  15. #增加孤立点
  16. M1<-cbind(M,c(1,rep(0,5)))
  17. M1<-rbind(M1,c(1,rep(0,6)))
  18. #网络图
  19. G1 <- graph_from_adjacency_matrix(M1, mode = "undirected")
  20. L1 <- layout.graphopt(G1) #含有孤立点的layout
  21. G <- graph_from_adjacency_matrix(M, mode = "undirected") #不含孤立点的网络对象
  22. plot(G, layout=L1) #这个是结果
复制代码

使用道具

藤椅
llb_321 在职认证  发表于 2022-6-1 10:05:00 |只看作者 |坛友微信交流群
56484684.PNG

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-5-3 02:15