写在前面 3 年的硕士生涯一转眼就过去了,和社交网络也打了很长时间交道.最近突然想给自己挖个坑,想给这 3 年写个总结,画上一个句号.回想当时学习 R 语言时也是非常戏剧性的,开始科研生活时到处发邮件要源代码,发完最后一封本以为又是无功而返,很意外的收到了秒回的邮件,邮件中附上了由 R 语言编写的实验代码.当时过于开心,因为终于有热心的作者回复了,以至于没有仔细考虑,想都没想对着满是警告的代码开始了 R 语言学习之旅.之后的几天陆陆续续的收到了其他作者的回复,实验代码多是使用 Python 构建…
本章会从 R 语言中最基本的数据类型开始介绍,在此之后就可以开始 R 语言实践了.对社交网络分析而言,我们在处理字符串上所花费的时间要远远大于处理数字的时间,因此本章还会介绍常用的字符串处理操作. 变量 字符串 字符串的创建 特殊字符的转义 字符串的其他常用操作 变量 R 语言中基本的数据类型包括: 整型(integer):整数,如 100: 浮点型(double):小数,如 3.14: 字符串型(character):R 语言中的字符串可以使用 " 或者 ' 定义,如 "abc&qu…
在第二章介绍了 R 语言中的基本数据类型,本章会将其组装起来,构成特殊的数据结构,即向量.矩阵与列表.这些数据结构在社交网络分析中极其重要,本质上对图的分析,就是对邻接矩阵的分析,而矩阵又是由若干个向量构成,因此需要熟练掌握这些特殊的数据结构. 向量 向量的创建 向量元素的访问 向量的运算 向量的其他常用操作 矩阵 矩阵的创建 矩阵元素的访问 矩阵的运算 矩阵的特征值与特征向量 列表 列表的创建 列表元素的访问 向量 向量的创建 向量(vector)作为 R 语言中最简单的数据结构,由一串有序的…
前三章中列出的大多数示例代码都很短,并没有涉及到复杂的操作.从本章开始将会把前面介绍的数据结构组合起来,构成真正的程序.大部分程序是由条件语句和循环语句控制,R 语言中的条件语句(if-else)和 C 语言中类似此处就不再介绍,循环语句包括 for 和 while 控制块.循环是社交网络分析的主旋律,比如使用 for 循环遍历分析网络中的每一个节点.当网络规模足够大时,并行处理又变得十分必要.熟练掌握本章的内容后,你的程序将会优雅而自然. 循环语句 while for 循环控制 apply()…
如何将存储在磁盘上的邻接矩阵输入到 R 程序中,是进行社交网络分析的起点.在前面的章节中已经介绍了基本的数据结构以及代码结构,本章将会面对一个实质性问题,学习如何导入一个图以及计算图的一些属性. 图的文件表示 导入一个图 生成人工网络 图的基本分析 图的文件表示 在计算机中,最常见的两种表示图的基本结构是邻接矩阵和邻接表.以最简单的无权无向图为例,邻接矩阵中第 \(i\) 行第 \(j\) 列的元素 \(a_{ij}\) 如果等于 1,则表示顶点 \(i\) 和顶点 \(j\) 之间有边,即邻接…
R 语言强大的可视化功能在科学研究中非常受欢迎,丰富的类库使得 R 语言可以绘制各种各样的图表.当然这些与本章内容毫无关系,因为笔者对绘制图表了解有限,仅限于能用的程度.接下来的内容无需额外安装任何包,仅使用 R 语言自带的绘图工具完成柱状图与折线图的绘制.如果对绘制的图表定制性要求较高,请搜索 ggplot2 包的相关教程. 柱状图 折线图 保存绘制的图表 柱状图 R 语言中使用 barplot() 函数来创建柱状图,下面绘制一个最简单的柱状图: > data1 <- c(0.7795875…
原文 GIS基础软件及操作(六) 练习六.空间分析的应用 1.加深对缓冲区分析基本原理.方法的认识:2.熟练掌握距离制图创建缓冲区技术方法.3.掌握利用缓冲区分析方法解决地学空间分析问题的能力. 1. 距离制图-创建缓冲区 数据准备:图层文件point.shp,lline.shp,polygon.shp 1.1 点要素图层的缓冲区分析 1) 在ArcMap中新建地图文档,加载图层:StudyArea,point 2) 打开Arctoolbox,执行命令<Spatial Analyst工具>-&…
R语言基础画图/绘图/作图 R语言基础画图 R语言免费且开源,其强大和自由的画图功能,深受广大学生和可视化工作人员喜爱,这篇文章对如何使用R语言作基本的图形,如直方图,点图,饼状图以及箱线图进行简单介绍. 0 结构 每种图形构成一个section,每个部分大致三部分构成,分别是R语言标准画图代码,R语言画图实例,和画图结果. R语言标准画图代码帮助你可以直接使用:help(funciton)查找,实例数据基本都来自内置包的数据,好了,直接切入主图,从最简单的点图开始吧. 1 点图 点图,简单的讲…
Social Network 社交网络分析 一:什么是SNA-社交网络分析 社交网络分析的威力何在?我想几个案例来说明. 案例1:对一个毫无了解的组织(这个组织可以是一个公司,亦或是一个组织),如果能够拿到这个组织成员之间的信息流动记录(例如通话记录/或邮件记录),那么通过SNA可以分析出谁是这个组织的实际控制者(要知道有必要加上实际二字),谁是这些成员中有影响力的人,那些成员更倾向于聚集在一起.对上述问题的回答可以用来做公关-把精力用在对的人身上:用来处理组织架构:用来游说获得支持--关系紧密…
Python基础篇(文件操作) 一.初始文件操作 使用python来读写文件是非常简单的操作. 我们使用open()函数来打开一个文件, 获取到文件句柄. 然后通过文件句柄就可以进行各种各样的操作了. 根据打开方式的不同能够执行的操 作也会有相应的差异. 打开文件的方式: r, w, a, r+, w+, a+, rb, wb, ab, r+b, w+b, a+b 默认使⽤的是r(只读)模式 二.只读操作(r,rb) f = open("护士少妇嫩模.txt",mode="r…