1. 先搞清楚UCINET到底在等什么数据
很多人在UCINET上栽的第一个跟头,不是不会跑算法,而是数据根本喂不进去。明明Excel里填得工工整整,一点Import却报错,或者导进去之后变成一团乱麻,节点对不上、值全错位。这些问题的根源,基本都是没搞懂UCINET的数据组织逻辑就急着动手。
UCINET本质上不是一个数据库软件,它更像一个“计算引擎”——它不管数据从哪里来,只管你递给它的矩阵是不是符合约定。它默认的数据结构是“方阵”:行是一个节点,列是另一个节点,交叉点的数值就是这两个节点之间的关系强度。这个逻辑来自图论里的邻接矩阵,也是整个社会网络分析的基石。
所以在准备数据之前,你脑子里得先有一张图:谁是节点、谁和谁有关联、关联的强度怎么量化。把这个问题想清楚了,后面的Excel整理、格式转换、导入校验全都是按部就班的事。这个系列前面几篇聊过UCINET能做哪些仿真和指标计算,这一篇就专门解决“数据怎么进去”这个最现实的问题。
这篇内容我会按自己实际操作的顺序来写:先讲数据格式的底层规则,再讲Excel端的整理技巧,然后走一遍三种最常见的导入路径,最后汇总我这些年帮人排查数据导入问题时遇到的高频坑。无论你是刚摸UCINET的新手,还是已经跑过几个项目的老手,这篇都值得花十分钟过一遍。
2. 数据格式的底层逻辑:搞懂UCINET认什么
2.1 三种核心矩阵形态
UCINET的数据录入不是随意的,它只认三类结构化的矩阵形态,这在数据准备阶段就必须定好。
第一种是“关系矩阵(Adjacency Matrix)”。这是最基础也最常见的形态,行和列都是同一个节点集合,行i与列j交叉的数值表示节点i到节点j的关系。这种矩阵必须是方阵,行列数量一致。比如5个人之间的朋友关系,就是一张5×5的方阵,有关系的格子填1,没有的填0。
第二种是“属性矩阵(Attribute Matrix)”。这种矩阵的行是节点,列是节点的属性特征。它可以不是方阵,行数等于节点数,列数等于属性个数。性别、年龄、部门、职务、收入段这些都可以作为属性列。它的作用是给网络分析提供分群、对照和背景信息。
第三种是“隶属矩阵(Affiliation / 2-Mode Matrix)”。这种矩阵的行和列分别代表两类不同实体,比如行是人、列是社团,交叉点表示“这个人是否参加了这个社团”。它是不对称矩阵,行列数可以不同。很多时候你要先把2-Mode矩阵转换为1-Mode关系矩阵才能做中心度分析,UCINET里对应的是Data菜单下的Affiliation转换功能。
这三种形态的区分,决定了你在Excel里怎么排列数据,也决定了你导入UCINET之后能不能直接跑分析。我见过不少人把属性数据当关系数据导,结果跑中心度出来一堆难以解释的数值——其实根本没分清楚矩阵类型。
2.2 数值编码规则
UCINET对矩阵里的数值有一套明确的约定:
- 二值数据(Binary):只用0和1表示关系有无。1代表有关系,0代表无关系。这是最常用的编码方式,适合“认识/不认识”“参与/未参与”这类布尔关系。
- 多值数据(Valued):可以填任意数值,表示关系的强度、频次、流量等。比如“每年往来次数”“合作项目数”“通话时长”这类有量纲的数据,直接填实际数值。
- 缺失数据:UCINET支持用“-1”标记缺失值?这里有个容易踩的坑——不同版本的UCINET对缺失值的处理方式不同。在多数矩阵操作中,缺失值应该填“-1”或“空格”?实操中,如果你想让UCINET在计算时跳过某些格子,最稳妥的做法是先用Data菜单下的“Symmetricize”或“Transform”功能把缺失数据单独处理,而不是靠特殊数值硬扛。我自己的习惯是,能不缺失就不缺失,实在缺了就先按0处理,然后在分析时明确标注限制。
还有一个关键约定:矩阵中的行和列标签。UCINET在导入纯数据矩阵时会自动用“V1、V2、V3……”命名节点,但这会让后续读结果变得痛苦——你根本不知道V7是谁。所以数据准备阶段,一定要把节点名称带上。这个在后面的导入操作里会详细说。
2.3 方向性:无向网络和有向网络的区别
社会网络里,关系不一定是“双向对等”的。A认识B,不代表B也认识A;A给B发过消息,B不一定回发过。这就牵扯到有向图和无向图的数据表现差异。
如果你研究的是无向关系,比如“两个人是否属于同一个项目组”,那矩阵整体是对称的,A→B和B→A的值一样。这种情况下你只需要填上三角(或下三角),导入时在UCINET里选“Symmetric”让它帮你镜像补全,能省一半录入量。
如果是有向关系,比如“谁向谁咨询过”“谁关注了谁”,那A→B和B→A可能完全不同,必须把两个位置的数据都填上。这时的矩阵不能做对称化处理,导入后也不能用无向网络的算法——否则分析结果会失真。
我自己的习惯是:在Excel里整理数据时先把方向性想清楚,给每个关系表加一个备注列标上“有向/无向”,方便后面导入时对应选择。这个习惯帮我避免过好几次“导出结果后发现矩阵被自动对称化”的麻烦。
3. Excel端的数据整理:导入前的最后一步
3.1 从原始数据到规范矩阵的加工流程
UCINET直接吃的是“矩阵”,但绝大多数人手里的原始数据是“表格”。这个中间转换过程,往往决定了后面分析能不能顺利进行。我把这个加工流程拆成了四步:
第一步,确定节点清单。把所有出现在网络中的节点列出来,去重、统一命名。人名的格式要一致——不要一会儿“张三”一会儿“Z.San”。节点最好不要超过300个,否则后面的可视化会变成一团雾,中心度结果也难以解读。
第二步,确定关系定义。明确“什么算一条关系”以及“关系怎么量化”。比如研究微信好友转发,你可以定义“A转发了B的推送,记A→B=1”;如果研究业务合作频次,你可以把某段时间内的合作次数直接作为矩阵值。
第三步,搭建空矩阵框架。在Excel里建一个方阵,行和列都填上节点名,交叉格暂时留空。我通常把第一个单元格(左上角)空出来不填任何东西,然后先把行节点的名称放在第一列,列节点的名称放在第一行,这样导出的数据文件里UCINET才能正确识别行列标签。
第四步,填充数值。逐格填入关系值。块数不多的话,手动填就行;数据量大,建议用VLOOKUP或透视表从明细表自动映射生成矩阵。比如你手里有一张“互动记录明细表”,每行是一条互动,包含发起方、接收方、频次,那么可以用COUNTIFS或数据透视表快速汇总出一张矩阵。
3.2 行列标签的处理艺术
Excel矩阵里最左上角的单元格,在UCINET导入时非常敏感。如果这一格里没有内容,导入后UCINET会把第一列和第一行都当作标签;如果这一格里填了东西(比如“节点名”三个字),部分导入方式会把这当作数据的一部分,导致矩阵错位。
我踩过最惨的一次:左上角填了“名称”两个汉字,导进去之后UCINET把这个单元格当作第一个数据,整个矩阵行列数全部偏移,连续跑了两小时算中心度,结果全错。后来我形成了一条铁律:Excel矩阵左上角永远是空的,行标签列和列标签行的内容永远只写节点名,不写任何多余的修饰词。
还有一类常见问题是标签含有特殊字符。程序会自动帮你编号的这种情况先不谈,如果你是用文本文件方式导入,节点名里千万不要带中文逗号、分号、引号这些字符,他们会严重干扰数据解析。
3.3 数值区间检查和单位统一
数据填完之后,一定要做一次区间检查。用Excel的“条件格式”把矩阵区域标出来:如果大部分值应该是0/1,你扫一眼就能发现有没有意外出现的2、3这类“不该存在的数字”。如果是多值数据,检查单位是否统一——有人按次数填,有人按百分比填,混在一起会让后续的标准化处理产生极大误差。
另外强烈建议:在导入之前先对矩阵做一次“求和检查”。用SUM公式算一下整个矩阵的总和,和你的理论边数对比一下。比如你的明细表里有58条关系,矩阵里所有格子的总和应该是58(无向网络中的双向记录可能是116)。如果对不上,基本可以确定录入或汇总时有遗漏。
4. 三种主流导入路径的实操记录
我请一位后来成了数据分析师的师弟A按照我常用的三种导入方式做了完整记录,他当时用的是UCINET 6.x版本,整个过程我盯下来,基本能代表大多数人会遇到的情况。
4.1 路径一:从Excel直接复制粘贴
这是最轻量、最容易上手的方式,适合中小规模矩阵(比如30×30以内),完全不需要生成中间文件。
第一步,在Excel里选中整个矩阵区域。注意这里有个关键操作:要把行标签列和列标签行一起选进去,从左上角的空单元格开始,一直拖到右下角的最后一个数据格子。
第二步,复制。Ctrl+C复制选区,这一步用的是系统剪贴板。
第三步,在UCINET主界面菜单栏上依次点击 Data -> Spreadsheet Editor。这时候会弹出一个空白的数据编辑窗口,就像一个小型Excel。
第四步,在Spreadsheet Editor里,鼠标点中左上角第一个单元格,Ctrl+V粘贴。粘贴之后你会看到数据和行列标签全部填充进去了。如果粘贴后发现行列对不上,先检查左上角是否多了一个空列或空行。
第五步,菜单栏上选择 Data -> Save [Spreadsheet] 或直接点保存按钮,把这份数据存成UCINET的自带格式文件。
第六步,保存时会弹出一个对话框,问你要保存成什么格式。选择“UCINET file(##h / ##d)”这个选项即可。
这个路径最大的优点是快、直观,适合临时验证和快速原型。缺点是当矩阵特别大(超过100×100)时,剪贴板可能会截断部分行列,这时候就不适合用复制粘贴了。
4.2 路径二:用Excel文件导入工具直接读入
UCINET 6.x 自带的导入向导(Data -> Import -> Excel Matrix)可以直接读入.xlsx或.xls文件,不用你自己复制粘贴。这个方式最推荐,省去中间剪贴板的各种意外。
具体步骤:
第一步,Excel文件必须格式干净。工作簿里有一个工作表,工作表内左上角是空单元格,第一行是列标签,第一列是行标签,数据区域是标准的矩形。
第二步,UCINET里依次点击 Data -> Import -> Excel Matrix。这时会弹出文件选择窗口,选中你的Excel文件。
第三步,导入向导会问你几个重要参数:Sheet名、数据开始的行列位置、是否包含行标签、是否包含列标签。你需要根据自己Excel文件的实际情况逐项确认。
第四步,点击OK。导入完成后,UCINET会弹出一个数据预览窗口,显示已经读入的矩阵。这时候一定要花10秒钟扫一眼行列数是否正确,节点名是否完整。
这个路径的注意事项是:UCINET对Excel文件的兼容性不算完美,我遇到过个别.xlsx文件导入后行列错乱的情况。如果你用的是WPS导出的Excel文件,建议先用Excel/兼容软件另存为标准格式再导入。
4.3 路径三:从文本文件(DL格式)导入
当数据量特别大、或者你手里是程序/脚本生成的网络数据,文本文件导入是最灵活的方式。UCINET支持DL格式——一种在图论和社交网络分析领域通用的数据描述语言。
DL格式的文本文件长这样:
dl n=5, format=fullmatrix labels: A,B,C,D,E data: 0 1 1 0 0 1 0 1 0 1 1 1 0 1 0 0 0 1 0 1 0 1 0 1 0简单解释:第一行“dl”是声明,n=5表示节点数,format=fullmatrix表示这是一个密集矩阵;labels段用于给节点命名;data段后面逐行列出矩阵数值,空格分隔。
如果你手里是一张“边列表”(edge list),也有对应的DL格式:
dl n=5, format=edgelist1 labels: A,B,C,D,E data: A B 1 A C 1 B C 1 B E 1 C D 1 D E 1这种格式每一行是一条边:第一个节点、第二个节点、关系值。它和密集矩阵是等价的,只是换了一种更省空间的表达方式。对于大数据网络(几百上千个节点),边列表往往比全矩阵更易维护。
导入DL文件的操作路径是:Data -> Import -> Text Matrix -> DL File。选中文件后UCINET会自动解析格式声明,你只需要确认参数正确。
我自己非常偏好DL格式,原因有两个:一是它能用脚本生成。比如你用Python处理了一堆原始日志,直接把边列表输出成DL格式,就不用在Excel里手动搭矩阵了;二是它天生适合大数据,不需要把空值都填上0。
5. 不同类型网络数据导入的专项走读
5.1 二值关系数据导入实操
二值关系是最简单但也最容易被做错的类型。我做某项目的课程答疑网络分析时,数据模板长这样:
| 李雷 | 韩梅梅 | 张明 | |
|---|---|---|---|
| 李雷 | 0 | 1 | 1 |
| 韩梅梅 | 1 | 0 | 0 |
| 张明 | 1 | 0 | 0 |
我当时的做法:在Excel里确保左上角空着,选中整个矩形,复制到UCINET的Spreadsheet Editor。然后在保存之前,先做一次检查:确保所有单元格的数值都是0或1,没有漏填的空白格。
保存时,文件名最好带上项目名和版本号,比如“课程答疑矩阵_v2.0”,方便后续引用。UCINET保存下来的文件会生成一个.##h(头部文件)和.##d(数据文件)的组合,它们是配套的,移动或删除时一定要一起操作。
5.2 多值关系数据导入实操
多值数据的典型场景是“合作强度矩阵”,比如各个业务线之间的项目协作次数。数值不再是0/1,而是10、23、5这类整数,甚至可以是小数(比如相关系数、概率权重)。
导入多值数据时,重点检查两点:
第一,数值单位一致。如果矩阵里同时出现“次/年”和“次/月”的数据,相当于把不同量纲混在一起做加法,后面跑出来的强度中心度是完全没有意义的。
第二,对角线的处理。多数无向网络的对角线(节点自己跟自己的关系)应该填0。但有一些算法会利用对角线值,比如做自遍分析时要填“2×outdegree”之类的补偿值。具体填什么,取决于你后面要跑什么算法,这一点最好在做分析前确定好。
导入操作和二值数据完全相同,只是数值内容是多样化的。UCINET不会因为多值数据就拒绝导入,它只会把数值原样保存。真正要注意的是后续分析时的算法选择——有些算法默认将矩阵当作二值数据处理,如果不先做二值化转换,输出结果会有偏差。
5.3 边列表(Edge List)导入实操
当你手里是一张“谁和谁有关系”的明细表时,不需要先手动搭成矩阵,UCINET可以直接吃边列表并自动生成矩阵。
我以一次群组互动分析为例。原始数据是一张两列表格:发帖人和回帖人。有387条记录,如果要手动搭成矩阵,387条记录涉及77个人,那得填77×77的格子,工作量直接劝退。用边列表就简单多了。
在Excel里把数据整理成三列:source(发起方)、target(接收方)、weight(频次),然后把这一块复制到记事本,按下面的格式整理成DL文件:
dl n=77, format=edgelist1 labels: 张三,李四,王五,赵六,孙七,…… data: 张三 李四 12 张三 王五 3 李四 赵六 8 ……导入后在UCINET中通过Data -> Export -> Matrix或直接跑Network密度分析,UCINET会自动把边列表组装成矩阵。
补充一个小技巧:如果边列表里的节点名不是数字而是文本,labels段顺序必须和数据段出现的节点对应上。否则UCINET可能无法正确映射节点身份,导致矩阵行列标签错乱。我自己的习惯是尽量用“数字编号+姓名对照表”的方式管理大规模节点,这样既能在UCINET里稳定运行,也不丢失人的属性信息。
5.4 2-Mode数据(隶属关系)导入实操
2-Mode数据是很多新手完全陌生的概念,但它在组织网络分析、事件参与网络分析里非常常见。比如:员工和项目的关系、学者和论文的关系、用户和话题的关系、会籍和社团的关系。这时候矩阵不是方阵,行数是员工数、列数是项目数。
导入2-Mode数据的方式和普通矩阵没有本质区别——在Excel里排列成行是员工、列是项目,同样左上角空着,行标签和列标签都带上。你可以用Spreadsheet Editor粘贴,也可以用Excel导入向导。
关键的后续操作是你必须明确告诉UCINET这是一个2-Mode数据。因为UCINET很多算法默认处理1-Mode方阵,如果不做标识,它可能会把列名当成额外节点来处理,导致后续的社区发现或中心度计算出现诡异结果。
具体做法是:导入后,在Data菜单里选择“Affiliation(2-Mode to 1-Mode)”功能,把隶属矩阵拆解成“员工-员工共同项目矩阵”和“项目-项目共享员工矩阵”。这一步转化完成后,你才能真正开始做基于共同成员关系的网络分析。
6. 数据检查清单:导入前和导入后各过一遍
我根据自己的实操经验,整理了一份数据检查清单,每一条都来自实际遇到的坑。导入前和导入后各花五分钟过一遍,能帮你省下几个小时的重工时间。
导入前检查项:
- 节点名是否统一?有没有“张三”和“张 三”这种不一致?
- 矩阵是否正方形?如果是属性数据或2-Mode数据,行数和列数是否符合预期?
- 是否有非0非1的异常值混入?用条件格式扫一遍。
- 左上角单元格是否为空?
- 行列标签是否误填了多余字符(如引号、括号、单位)?
- 数值总量是否与原始明细表吻合?
- 有向/无向网络是否已经标记清楚,避免后续用错算法?
导入后检查项:
- UCINET预览窗口中的行列数是否和Excel一致?
- 行标签是否正确显示为你的命名,而不是V1、V2这种自动编号?
- 对角线数值是否符合预期(多为0)?
- 如果做了对称化,上三角和下三角是否完全一致?
我给自己定了一个规定:导入后先不要急着跑算法,先做一次“矩阵可视化预览”。UCINET的NetDraw组件可以直接画网络图,肉眼看一下网络拓扑里有没有明显的孤立点、完全断开的子群。如果某个节点明明有数据却孤零零地散落在外,多半是导入过程中标签映射出了问题。
7. 高频问题排查与避坑经验
7.1 导入后行列数不一致
这是最高频的问题,几乎每个人都会遇到。原因通常出在“左上角空格”和“标签行列是否被选中”上。排查思路:
- 回到Excel,看选区是不是从左上角空格开始的。
- 对比UCINET预览窗口的维度和Excel矩阵的维度:数据区域应该是行数减1、列数减1(因为去掉了标签行列)。
- 如果行列数目恰好差一行,多办是标签行被当成数据行读入。检查导入向导里的“First row contains labels”选项是否勾选。
7.2 中文标签显示乱码
部分版本的UCINET对UTF-8编码的文本文件支持不佳,中文标签会出现乱码。这个问题的根源是文本文件编码格式。
解决办法:在使用记事本/文本编辑器生成DL文件时,另存为时选择“ANSI”或“GBK”编码,而不是UTF-8。如果数据里已经有中文名且已经乱码,最快的补救办法是重新用文件导入向导导一次,确认编码选择为系统默认的ANSI。
我个人的建议是:如果你实在搞不定中文编码,就用“编号+中文对照表”的方式。节点名全部用数字(如“01, 02, 03...”),另建一张属性表存中文姓名,分析时用属性数据补充节点名称显示。这样既能避免乱码,也更便于程序处理。
7.3 导入时提示“Matrix is not square”
当UCINET报出这个错,说明你导入的是1-Mode关系数据,但矩阵行数和列数不一致。原因多半是Excel里行列标签不对齐,比如某一列多了空行或者复制选区时漏掉了一行。
处理方法:回Excel检查标签行和标签列的节点序列是否完全一致、顺序是否相同。有些人在列标签里忘了加最后一个节点,就会导致行列不一致。
7.4 自动生成的标签全是V1、V2
出现这种情况说明导入向导没识别到数据中的标签行列。主因是导入Text Matrix文件时没有正确设置“line format”参数。
如果你在UCINET的Import -> Text Matrix -> Raw File方式导入纯数字文本时,UCINET根本不会自动识别标签,它只会按顺序生成默认节点名。那种情况下,你应该使用DL File导入方式,并且在文件里明确写清楚labels段。
7.5 粘贴到Spreadsheet Editor时只有部分数据进来
剪贴板的数据量过大时,Spreadsheet Editor可能出现粘贴不完整。有些老版本UCINET对剪贴板大小有限制。
解决办法是改用Data -> Import -> Excel Matrix路径直接读文件,绕开系统剪贴板。或者把Excel数据另存为CSV文件后用DL格式导入。
8. 从“能导入”到“能分析”的最后一步
数据成功导入UCINET,只是完成了第4篇的一半。很多人到了这一步就急着跑中心度、跑聚类,结果输出结果完全不合理,回头排查才发现是数据准备阶段埋下的雷。这里我再强调三件事,每一件都是我实战中吃亏后总结出来的。
第一件事:导入后一定要跑一次“描述性统计”验证数据。具体操作是Tools -> Testing -> Descriptive Statistics,它会输出矩阵的基本统计量:最大值、最小值、均值、密度等。你可以用这些数值快速判断数据是否合理。比如一个二值网络,密度如果高达0.95,那基本预示着矩阵几乎全为1,这种网络的中心度分析意义不大;密度如果只有0.01,则说明网络过疏,要考虑是否漏掉了大量关系。
第二件事:和建议保存原始数据文件分开管理。UCINET保存后产生的两个文件(##h + ##d)是二进制或半文本格式,容易被误改。我的习惯是建立一个项目文件夹,里面分三个子目录:raw_data(原始Excel/文本)、ucinet_data(UCINET格式文件)、outputs(分析结果和图表)。这样即使过了三个月再回来看,也能快速定位每个文件的来历。
第三件事:养成写“数据描述文档”的习惯。哪怕只有一页,记录:节点集来自哪里、关系定义是什么、数值编码规则是什么、采用了有向还是无向、是否有缺失值处理。这份文档对于项目交接、论文复现、审稿答疑都极有价值,也是你和苦难记忆说再见的唯一手段。
说到记忆:我之前有一次帮一位师妹排查问题,她导入的数据怎么都报错,最后发现是Excel里有一个“筛选”状态没有取消。筛选状态下复制矩阵区域会把隐藏行一起复制,或者漏掉部分行,导致矩阵行列错位。这个坑极其隐蔽,而且Excel界面上几乎看不出异常。所以导入之前,建议先按Ctrl+Shift+L取消筛选,再全选矩阵区域检查一下行数。
还有另一个常见问题是把公式单元格复制进UCINET。Excel里如果矩阵单元格是用公式计算出来的,直接复制单元格复制的是公式计算的结果值,这个没问题。但如果你复制的是公式本身(某些情况下Excel会复制公式而不是值),UCINET收到的是文本公式而不是数字,数值型操作全部失效。稳妥做法:在Excel里先选中矩阵区域,右键复制,然后选择性粘贴为“值”,把公式变成纯数值,再复制出去。
9. 用虚拟数据跑通全流程
实操是最重要的,我拿一个虚拟的小案例带你完整跑一遍“从零到导入”的全过程。
场景:某课程小组有8名成员,他们之间存在“合作过同一门课程作业”的关系。我把这8个人编号为A01到A08。
第一步,在Excel里整理:
- 第一列:A01到A08,作为行标签。
- 第一行:A01到A08,作为列标签。
- 数据区域:如果某两人合作过作业,填1;否则填0。对角线全部填0。
我模拟的矩阵如下(只展示部分):
A01 A02 A03 A04 A05 A06 A07 A08 A01 0 1 1 0 1 0 0 0 A02 1 0 1 1 0 0 0 0 A03 1 1 0 1 1 0 0 1 A04 0 1 1 0 0 1 0 0 A05 1 0 1 0 0 0 1 0 A06 0 0 0 1 0 0 1 0 A07 0 0 0 0 1 1 0 1 A08 0 0 1 0 0 0 1 0第二步,全选矩阵区域(包括行标签和列标签,不包括左上角空单元格之外的任何多余内容),Ctrl+C复制。
第三步,打开UCINET,在Data菜单下打开Spreadsheet Editor,直接Ctrl+V粘贴。此时看到8行8列的矩阵,行标签和列标签均为A01到A08。
第四步,保存为“虚拟课程小组合作网络”。保存后检查工作目录里出现了两个文件。
第五步,用Tools -> Testing -> Descriptive Statistics看一下密度。这8个人的网络中,我数了一下总边数是15条,密度=15/(8×7)/2?其实在无向网络中,密度=边数/[n(n-1)/2]=15/28≈0.536。看到这个数,判断这个网络中等偏密,作为小团体课程小组是合理的。
第六步,用NetDraw打开可视化,确认网络拓扑没有异常孤立节点。这里我经常做的一件事是把整个网络图截图保存下来,后面写报告、做论文时直接能用。
这就是整个数据导入流程的最小闭环。从这个闭环出发,你可以根据自己的数据规模和数据形态去套用前面讲的导入路径,不断练习几次,导入部分就再也不会卡壳了。
做数据准备这一块,总结下来其实就一句话:别急着让UCINET帮你干活,先把它要的料备清楚、备干净。格式对了、编码对了、标签对了、数值对了,导入就是几秒钟的事。真正花时间的永远是数据理解、数据清洗和数据记录这些在导入之前和导入之后的小事。这些小事做好了,后面不管跑多复杂的仿真、多沉的分析,你都能站得稳。