第二章 数据管理 一、数据的读取 jamovi可以直接读取SPSS、STATA、SAS、R等程序的数据文件,以及逗号分隔的 CSV文件、TXT文本文件。这部分数据的读取方法如下: 以打开计算机桌面上文件夹“数据管理”中的“示例数据 1.csv”文件为例[“示例数据1”为 15名高校大一至大四在校大学生的身高(cm)和体重(kg)数据]。 点击软件主界面左上角的 (图2-1),则呈现图 2-2所示界面,选择“Open”(打开),继续选择“This PC”(这台计算机),再选择右上角“Browse”(浏览),从本地电脑目录中选择需要打开的文件,最后单击选定文件,即可打开并读取数据文件(图2-3)。 jamovi自带部分示例数据,如果需要打开这部分示例数据,则在选择“Open”后,选择“Data Library”(数据库),然后在右侧选择相应文件点击打开即可(图2-4)。 非逗号分隔的其他 Excel文件,可以在 Excel中另存为逗号分隔的 CSV文件,然后再用上述方法打开。固定格式的 TXT文件可以先用 SPSS、R等读取,转换为 jam-ovi可以读取的数据文件。.dat文件可以用 Excel读取,另存为逗号分隔的 CSV文件,再用上述方法打开。 二、结果的保存 jamovi软件数据分析结果在窗口的结果视图栏呈现(图 2-5),jamovi生成的表格和图形可以直接复制到 Word或者 Excel里,稍加编辑就可以直接使用。 数据分析完成后,表格复制或导出的步骤如下:将光标移动至表格中,单击鼠标右键,选择“Table”(表格)—“Copy”(复制)(图2-6),即可直接复制表格,选择“Export”(输出)(图2-7),即可将表格另存为 .pdf或 .html文件保存至计算机中。 在完成数据分析后,数据和结果的保存分为两种形式:第一种是将数据结果保存为 .omv格式,.omv文件是 jamovi软件的保存格式,可直接使用 jamovi软件打开。这种方式将数据与结果同时保存在一个文件里,看见数据的同时也能看见结果。第二种是将结果保存为其他格式,如 .pdf、.sav、.csv等,这种方法只能输出结果部分。这两种方法的操作步骤如下: ①打开选择软件左上角 “ ”—“Save As”(保存) —“Browse”(浏览),从本地计算机目录中选择目标路径,更改文件名,点击“Save As”即可将结果保存为 .omv格式(图2-8)。 ②打开选择软件左上角“ ”—“Export”(输出)—“Browse”,从本地计算机目录中选择目标路径,更改文件名,选择需要保存的文件格式,点击“Save As” 即可将结果保存为相应的文件格式(图2-9)。 以“示例数据1.csv”演示增加 /删除变量的操作过程。 一、增加 /删除变量 ① 按照上述数据读取方法打开“示例数据1.csv”,如图 2-10所示。 ② 选择“Data”—“Add”(增加),此时出现如图 2-11所示的下拉选项,其中“Data Variable”(数据变量)表示增加一个新的空白变量,“Computed Variable”(计算变量)表示增加一个经过计算得到的变量,“Transformed Variable”(转换变量)表示增加一个经过转换得到的变量,关于“Computed Variable”和“Transformed Variable”的具体用法在“变量 /数据转换”有具体描述。“Insert”(插入)表示将光标移到数据中的某列,新变量会出现在这一列的前面一列,“Append”(追加)则表示新变量会出现在数据最后一列的后一列。 ③ 选中需要删除的列,单击鼠标右键,在出现的菜单中选择“Delete Variable”(删除变量)(图2-12)或者选择“Data” —“Delete”(删除)(图2-13),即可将变量删除。 二、变量标签与赋值 ① 按照上述数据读取方法打开“示例数据1.csv”。 ② 选中需要重命名的变量所在的列,单击鼠标右键,在出现的菜单中选择“Setup”(设置)(图2-14)或者选择“Data”—“Setup”(图2-15),新出现的界面即为变量的编辑栏,包括变量名称、“Description”(变量描述)、“Measure type”(变量类型)、“Data type”(数据类型)、“Missing values”(缺失值)、“Levels”(自变量水平)(图2-16)。其中“Measure type”包括“Nominal”(名义变量)、“Ordinal”(有序变量)、“Continuous”(连续性变量)和“ID”四种;“Data type”包括“Integer”(整数)、“Decimal”(小数)和“Text”(文本)三种类型。 三、变量 /数据转换 在数据分析过程中,常常需要对变量重新赋值或者重新计算生成一个新变量,这都涉及变量和数据的转换,下面以“示例数据 1.csv”演示变量 /数据转换操作步骤。 (一)变量重新编码 在进行数据分析之前,有时需要对变量进行相应调整,例如“示例数据 1”中,原来的“grade”(年级)变量中“1”代表大一,“2”代表大二,“3”代表大三,“4”代表大四,后面的研究中需要将大一和大二合并,大三和大四合并,此时需要对“grade”这个变量重新编码,操作步骤如下: ① 按照上述数据读取方法打开“示例数据1.csv”。 ②将光标移动至需要转换的变量所在的列,单击鼠标右键,在出现的菜单中选择“Transform”(转换)(图2-17),或者选择“Data”—“Transform”(图2-18)。 ③ 在新出现界面中的“source variable”(原始变量)中选择“grade”,表示新的变量是基于原始变量“grade”的,接下来在“using transform”(用于转换为)中 选择“Creat New Transform”(创建新的转换变量)(图2-19)。 ④ 在新出现的界面中选择“+ Add recode condition”(增加编码规则),在“source”(原始数据)选择“= =”(等于),在后面填写编码“1”,“use”后面也填写1,代表编码“1”仍然编码为“1”;然后继续选择“+ Add recode condition”,将编码 “2”编码为“1”,按照同样的方法,将编码“3”编码为“2”,编码“4”编码为“2”(图2-20)。 ⑤ 点击右边 ,得到重新编码后的结果(图2-21)。 (二)生成新变量 有些变量在原始数据中并不能获得,但是可以通过原始数据的简单计算生成,如“示例数据 1”中已经有“hight”(身高)和“weight”(体重)数据,可以通过这两个数据获得体质指数(body mass index,BMI),其操作步骤如下: ① 按照上述数据读取方法打开“示例数据1.csv”。 ② 将光标移动到最后一列“weight”,选择“Data”—“Compute”(计算)(图 2-22),需要注意的是将光标移到数据中的某列,新计算出来的变量会出现在这一列的后面一列。 ③ 在上方的“COMPUTED VARIABLE”(计算变量)下的框中输入计算后得 到的变量的名称“BMI”,在下方的“Formula”(公式)右边的框中输入计算公式 “fx=weight/((hight/100)*(hight/100)) ”,即可得到新变量 BMI的数值(图2-23)。也可以利用 jamovi的各种函数实现计算过程。如果需要查看 jamovi支持哪些函数,可以点击“Formula”右边 fx旁边的“▼”,输入计算公式。 数据的合并包括样本的合并和变量的合并,下面以“示例数据 1”和“示例数据2”[“示例数据 2”为 15名乙高校大一至大四在校大学生的身高(cm)、体重(kg)数据]演示样本合并和变量合并的操作步骤过程。 一、样本合并 假设“示例数据 3.csv”数据库中记录了 ID为 1~15的 15名研究对象的 “age”(年龄)、“gender”(性别)、“grade”(年级)、“hight”(身高)、和“weight”(体重)五个变量数据,“示例数据 4.csv”数据库中记录了 ID为 16~30的 15名研究对象的“age”“gender”“grade”“hight”和“weight”5个变量数据,现需要将两个数据库的数据进行合并。 ① 按照上述数据读取方法同时打开“示例数据3.csv”和“示例数据4.csv”。 ②选择数据“示例数据 4.csv”,用光标拖拉选择需要合并到“示例数据 1”中的样本,本次选择“示例数据 2”中 ID为 20~30号的样本(如果合并整个“示例数据 2”,则 Ctrl+A全选),鼠标右键选择“copy”(复制)如图 2-24所示。 ③选择“示例数据 1”,光标移到“示例数据 1”最后一行的后面一行,单击右键选择“Paste”(粘贴)(图2-25),即可得到合并后的数据库(图2-26)。 需要注意的是,样本合并之前必须确保合并的两个数据库中变量的顺序完全一致。 二、变量合并 假设“示例数据 1.csv”数据库中记录了 ID为 1~15的 15名研究对象的 “age”“gender”和“grade”三个变量数据,“示例数据 4.csv”数据库中记录了 ID为 1~15的 15名研究对象的“hight”和“weight”两个变量数据,现需要将两个数据库的数据进行合并。 ① 按照上述数据读取方法同时打开“示例数据3.csv”和“示例数据4.csv”。 ②选择数据“示例数据 4.csv”,用光标拖拉选择需要合并到“示例数据 1”中的变量,本次选择“hight”列和“weight”列(如果合并整个“示例数据 2”,则同时按住键盘 Ctrl+A全选),单击鼠标右键选择“Copy”(图2-27)。 ③选择“示例数据 1”,光标移到“示例数据 1”最后一列的后面一列,点击右键选择“Paste”(图2-28),即可得到合并后的数据库(图2-29)。 需要注意的是,合并之前必须确保两个数据库中样本例数的 ID顺序完全一致。 三、数据筛选 在数据分析过程中,有时需要选择一部分数据进行分析,即选择满足一定条件的样本,比如,选择血红蛋白浓度大于 160 g/L的样本人群,选择年龄大于 60岁的样本人群。可以利用条件抽取、挑选出或删除符合 /不符合一定条件的样本,如删除有缺失值的样本。这时就要使用数据筛选功能。以“示例数据 1”演示筛选出“gender”中为“male”(男性)以及“grade”中为“2”的样本,数据筛选操作步骤: ① 按照上述数据读取方法同时打开“示例数据 1.csv”文件;选择“Data” —“Filter”(筛选)(图2-30)。 ② 在 fx后面的输入框输入相应的条件如“gender=="male"”,点击“+”,就会增加一个新的筛选条件输入框,输入“grade=="2"”(图2-31);结果如图 2-32所示,在“Data”页面新增两列“Filter 1”(筛选1)和“Filter 2”(筛选2),“Filter 1”表示“gender”的筛选结果,“Filter 2”表示“grade”的筛选结果。