文档介绍:第二章 Clementine的数据读入与集成
使用:[流2(,).str]
合并数据(——数据集成)
如前所述,Clementine数据流中的数据可能来自两个或多个外部数据文件,如何有效地合并外部数据并送入数据流,是本节讨论的主要内容。
通常,数据合并有如下两种方式。
●第一,两份或多份数据依次头尾连接合并,称为数据的纵向合并。纵向合并用于
追加样本。
●第二,两份或多份数据左右连接合并,称为数据的横向合并。横向合并用于追加变量。
数据的纵向合并
数据的纵向合并是在数据尾部不断追加样本的过程。Clementine实现该功能的节点记录选项(Record Ops)选项卡中的追加(Append)节点。
以学生参与某次社会公益活动的数据()为例,文件中包含两
张工作表,分别是老生和新生的数据。由于分析是针对所有学生的,需要将两份数据纵向合并成一份新数据。建立的数据流如图2-15所示。
图2-15 数据纵向合并的数据流
首先,按照读入Excel电子表格数据的操作方法建立两个Excel节点,分别读入两张工作表数据;然后,选择源(Source)选项卡中的追加(Append)节点并将其连接到Excel节点的后面,右击鼠标,选择弹出菜单中的编辑(Edit)选项,所显示的参数设置窗口如图2-16所示。
追加(Append)节点的参数设置窗口(b)追加(Append)选项卡
图2-16 追加(Append)节点的参数设置窗口
图2-16(a)显示了两个数据源节点的标号(Tag)、名称(Source Node)以及所包含的变量个数(Fields)。合并后样本的排列顺序将依据标记(Tag)值,标记(Tag)值最小的表其数据排在最前,标记(Tag)值最大的表其数据排在最后。可通过右边的上下按钮调整这个顺序。Clementine默认标记(Tag)值为1的表为主数据集(Main DataSet),意味着如果两份数据中的变量名不同或变量个数不一致,则默认合并后新数据的变量名与主数据集相同。
图2-16(b)依次显示了新数据的变量名,以及两份原始数据的变量名。
●包含字段来源(Include fields from)选项中,仅主数据集(Main dataset only) 表示合并后新数据的变量名只来自主数据集;所有数据集(All datasets)则表示来自所有表,是各表变量名的并集。
●字段匹配依据(Match fields by)选项中,位置(Position)表示按两张表列的顺序依次头尾连接样本,名称(Name)表示按变量名对接。如果不能够保证两份数据的变量排列顺序完全一致,应选择名称(Name)项。
●通过在字段中包含源数据集未标志记录(Tag records by including source dataset in field)表示在新数据中自动增加一个变量名默认为输入(Input)的变量,存储标记(Tag)值以说明样本来自哪个数据源。
需要注意的是:在数据的纵向合并中,应确保两份或多份数据的合并是有实际意义的,相同含义的变量应取相同的变量名,且变量的类型要一致。
为方便数据流的管理和浏览,可将纵向合并过程做成一个超节点,如图2-17所示。