1702646020
1702646021
在前面讨论的有关受教育程度的例子中,“缺失信息”被编码为-1。当计算均值时,我们一般会声明-1是受教育程度的缺失值。在SPSS句法中,缺失值在程序中是被明确注明的,即“missing values educ(-1)”;在Stata中,正如前面讲到的,缺失值会通过赋予其中一种“缺失值”编码的方式被自动排除,或通过用如果(if)条件语句限定样本的步骤来准确地加以排除:…if educ~=-1(即如果EDUC不等于-1)。这些语句告诉计算机在计算均值时删掉所有受教育程度编码为-1(或为指定的缺失值编码)的个人。忽略此步骤会导致一个不正确的均值,因为那些编码为-1年受教育年限的人被包括在计算中。这类错误很常见,这就是为什么反复检查命令的逻辑是非常必要的。一种有效的检查方法是对原始变量的特定赋值逐行查看计算机命令的逻辑,看计算机是如何在每一步中变换它们的。
1702646022
1702646023
数据分析新手常遇到的一个问题是,他们在进行计算时,发现计算机输出结果中没有样本或样本很少。这通常是数据变换的逻辑错误导致的结果。例如,考虑一个收入变量,其原始编码是一组表达收入范围的类别,如1=每年少于3000美元,2=3000~4999美元,等等,但同时用97、98、99表示各种无应答类别。如果分析者将收入类别重新编码为这些范围的中点,如将1重新编码为1500美元,2为4000美元,等等,但随后忘了这一点,仍然指定编码大于或等于97的样本为缺失值,结果是所有的样本都会被排除,因为所有报告了收入的样本被重新编码为上千元的数值,即大于97。如果你认为这些不会发生在自己身上,那我们就等你试的时候瞧瞧!这在我们所有人身上都发生过。关键是要在你建构整个理论体系之前发现这些逻辑上相似但有细微差别的错误。
1702646024
1702646025
1702646026
1702646027
1702646029
量化数据分析:通过社会研究检验想法 本章小结
1702646030
1702646031
本章是对计算机执行统计计算的一个介绍,涉及一些社会科学计算的发展史,更多地关注处理数据的逻辑和缺失数据的处理方法。因此,本章可以看作学习任何统计软件包程序——如我们在本书后面章节将使用的软件包Stata,或其他软件包如SPSS或SAS——的入门基础。
1702646032
1702646033
我们在下一章开始介绍一般线性模型,该介绍将从细致讨论双变量相关和回归开始。
1702646034
1702646035
1702646036
1702646037
1702646039
量化数据分析:通过社会研究检验想法 附录 用Stata进行分析
1702646040
1702646041
用Stata进行分析的一些建议
1702646042
1702646043
本附录提供了一些简单建议,它们会使你们在用Stata进行分析的时候更加容易和有效率。此外,附录列出了一些容易被忽略但特别实用的命令。
1702646044
1702646045
用-do-文件做所有工作
1702646046
1702646047
你们应该从一开始就养成通过创建命令文件来进行所有分析的习惯,Stata术语称之为“-do-文件”。这样做主要有两个优点:在正确分析之前很容易重复尝试不同的分析,并且容易记录你们的分析。而对你们的分析保留一份日志却并不总是必要的(当然,尽管你们必须创建一个-log-文件来保存你们的输出结果),因为日志完整地记录了所有输出错误和错误步骤,这使你们很难一下子找到分析正确的路径,并且还会重复记录你们的分析结果。这里有一个例子(是我曾创建的-do-文件的一部分),你们可以用作一个标准格式的参考。我创建的每个-do-文件的开头部分都用这组命令。文件中的命令用英文字体Courier New来表示,在方括号中的内容是我的评论。
1702646048
1702646049
capture log close
1702646050
1702646051
[此命令要求关闭已打开的任何-log-文件(见下一条命令)。在一个命令前加-capture-非常有用,因为它指示Stata在遇到“错误”时不要停止——例如,如果它没有发现一个关闭的-log-文件,它也不会停止。]
1702646052
1702646053
log using class.log,replace
1702646054
1702646055
[此命令告诉Stata保存命令文件和这些命令得出的结果——被称为“-log-文件”——并且覆盖以前的任何-log-文件。命令的-replace-部分很关键,因为当你们执行-do-文件、更正错误并试图再执行时,Stata将会提示已有一个-log-文件存在。]
1702646056
1702646057
#delimit;
1702646058
1702646059
[此命令告诉Stata在碰到“;”时结束所有的后续命令。我发现这是处理长命令行最有效的方法。Stata的默认值将回车键(结束一行的计算机命令)视作命令的结束,这意味着命令被限定在一行,除非回车键是起到“注释”作用(见下面)。当然,行有可能很长,超出一页的宽度,这会使你们的文件很难读。]
1702646060
1702646061
version 10.0;
1702646062
1702646063
[此命令告诉Stata文件是由哪个Stata版本创建的。如果版本可以识别,新版本的Stata总是能运行旧版本的-do-文件。]
1702646064
1702646065
set more 1;
1702646066
1702646067
[此命令告诉Stata在输出结果的每一结束页处不要停止。当执行一个-do-文件时,你们会希望程序在执行时不要停止。检查输出结果的方法是阅读-log-文件。]
1702646068
1702646069
clear;
[
上一页 ]
[ :1.70264602e+09 ]
[
下一页 ]