写在前面
相信有不少小可爱们需要使用R的statnet包来构建社会网络,那你有没有碰到这个问题呢?在你费劲千辛万苦得到数据后,却不知需将数据处理成何种格式,才可以使用statnet。如果有小可爱们碰到此问题,那这篇博文简直是福音hhh
操作环境
R-3.5.1
操作步骤
第一步:构建社会网络的稀疏矩阵
无论你的原数据是哪种类型的格式,都需要转换成稀疏矩阵。我是先将原数据转换成from_to的形式,再使用python的networkx将数据转换成稀疏矩阵。
稀疏矩阵无表头。有一点要强烈注意:导入数据时,节点的身份识别是有强制要求的(原数据小张、小王、小李),必须是从1开始的连续型整数,我血的教训(官网也没说。。。)。
第二步:“网络节点属性”数据准备
节点顺序和稀疏矩阵顺序对应,用Excel的vlookup实现。
第三步:三行代码构建网络矩阵
read.csv()参数“header=F”意指数据文件的首行不表示节点名称。
edges(稀疏矩阵)的矩阵无节点信息,所以为F;vertex的csv(节点属性)首行有节点信息,所以T。
导入节点信息时,有小插曲报错:
应该是属性只能是实数,不能是字符串之类的。我有用户身份的分类变量,没处理为整数型的分类变量。把这个变量删了,可以成功导入。等我后续处理身份变量后,再接更。后续:用户的身份变量,处理成整数型分类变量,可以成功导入。
验证结果
查看net信息,返回网络的基本信息。
查看net数据类型,返回network的数据类型。
成功,撒花。。。。