本文将快速指导你如何快速入门 Stata 并通过选修课考试
首先介绍一下我们这篇文章使用的数据源和结构
由于泄露老师的课题不太好,因此我们只能简要介绍一下问卷的结构和几道典型题目,但这对于我们来说已经够用了
本文使用到的问卷是由 8 道单选题、1 道矩阵量表题、3道填空题组成的问卷星问卷(其中有一题是建议题,在本文中可被忽略),导出的数据大致如下:
No | Q1 | Q2 | Q3 | Q4_1 | Q4_2 | Q4_3 | Q4_4 | Q4_5 | Q4_6 | Q4_7 | Q4_8 | Q4_9 | Q4_10 | Q5 | Q6 | Q7 | Q8 | Q9 | Q10 | Q11 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
2 | 4 | 1 | 2 | 1996 | 0 | 2 | 2 | |||||||||||||
3 | 1 | 10 | 5 | 1 | 1 | 1989 | 6000 | 2 | 2 |
其中 Q1~Q3, Q5~Q6, Q10~Q11 是单选题、Q4 是矩阵量表题、Q8~Q9是填空题,Q12是建议意见反馈题(在上表中被忽略),单选题的结构大致如下:
Q6.您的户籍性质:
农业户口 2. 非农业户口 3. 居民户口 4. 其他(请注明):___
了解完这些,我们就可以正式开始了
若无特殊说明,H3 标题都代表的是对应的 Stata 命令
用于清除内存中的所有数据
导入外部数据
import excel using "path", sheet("sheet_name") firstrow其中, firstrow 表示第一行是变量名,sheet 用于指示目标表
import delimited using "path", delimiter(",") clear其中, clear 将在文件导入前清空历史数据, delimiter 指定分隔符,默认为逗号
import delimited using "C:\data\*.csv", delimiter(",") clear case(preserve)其中,case(preserve) 表示保持原始变量大小写的形式
加载 Stata .dta 文件
一般用法: use file.dta
选项:
clear 加载之前清空内存中的数据在 Stata 中,label 语句用于给变量和变量值添加标签(描述性信息),它有以下形式
类型 | 功能 |
|---|---|
| 给变量添加描述性标签 |
| 定义一个值标签(value label) |
| 将定义好的值标签应用到变量 |
其中,label define 与 label values 经常被组合使用
换言之,给变量添加描述,描述内容通常对应问卷设问
示例
原始试题:
Q6.您的户籍性质:
农业户口 2. 非农业户口 3. 居民户口 4. 其他(请注明):___
数据文件组成:
No | Q6 |
|---|---|
1 | 1 |
2 | 3 |
Stata 语句:
label variable Q6 "户籍性质" 说明 Q6 变量表示的是户籍
给变量中的值定义一个标签集合,标签内容通常对应问卷选项
Stata 语句:
label define 户籍性质标签 1 "农业户口" 2 "非农业户口" 3 "居民户口" 4 "其他"定义了一个名为 "户籍性质标签" 的标签集合,带有 4 个选项标签
应用标签集合到变量中
Stata 语句:
label values Q6 户籍性质标签给变量 Q6 贴上"户籍性质标签"的标签集合
最终效果
. tab Q6
户籍性 |
质 | Freq. Percent Cum.
------------+-----------------------------------
农业户口 | 6,594 65.06 65.06
非农业户口 | 1,891 18.66 83.72
居民户口 | 1,603 15.82 99.54
其他 | 47 0.46 100.00
------------+-----------------------------------
Total | 10,135 100.00label drop mylabel 删除一个值标签定义label clear 清除变量上的值标签label values q1 q2 q3 mylabel 批量加入多个值标签生成频数分布表(单变量)或列联表(双变量)
变体:
tab varname 生成单变量频数表选项:
miss 查找缺省值,缩写 msort 按频率排序tab var1 var2 生成双变量交叉表选项:
row 显示每行的百分比(即每个单元格占该行总的比例)col 显示每列的百分比cell 显示每个单元格占总样本的比例chi2 添加卡方检验结果(判断两个变量是否独立)nokey 不显示值标签解释查看数据集中一个或多个变量的基本统计特征,包括:
一般用法: sum [varlist]
详细统计信息: sum [varlist], detail
带条件使用: sum [varlist] condition
示例:
. sum Q6
Variable | Obs Mean Std. dev. Min Max
-------------+---------------------------------------------------------
Q6 | 10,135 1.516823 .7706682 1 4查看数据集中变量的结构和取值分布情况,一般用于检查缺失值或找出潜在的数据问题
内容包括:
一般用法: codebook <varlist>
选项:
compact 简洁模式,只显示关键信息notes 显示变量的注释信息(如果有)tabulate(#) 对分类变量显示频数表(# 表示最多显示多少个类别)problems 只显示可能有问题的变量(如异常值、缺失值过多等)示例:
. codebook Q9
-------------------------------------------------------------------------------------
Q9 2020年总收入
-------------------------------------------------------------------------------------
Type: Numeric (long)
Range: [90,1000000] Units: 1
Unique values: 793 Missing .: 0/8,103
Mean: 40227.2
Std. dev.: 61677.8
Percentiles: 10% 25% 50% 75% 90%
2500 9600 25000 50000 90000删除变量(列)或观测值(行)
变体:
drop var1 var2 ... 删除变量drop if condition 删除观测值。删除缺失值: drop if missing(varname)重命名变量名或变量标签
一般用法: ren oldvar newvar
重命名多个变量: rename (old1 old2) (new1 new2)
生成新变量(即创建新的列)
一般用法: gen 新变量名 = 表达式
使用条件控制: gen newvar = var if condition
示例:
原始试题:
Q9.2020年,您的年税后/可支配收入大约是()元。
数据文件组成:
No | Q9 |
|---|---|
1 | 21100 |
2 | 20000 |
Stata 语句及运行结果:
. label variable Q9 "2020年总收入"
. sum Q9
Variable | Obs Mean Std. dev. Min Max
-------------+---------------------------------------------------------
Q9 | 10,135 32605.92 66197.84 -2 3000000
. tab Q9
2020年总 |
收入 | Freq. Percent Cum.
------------+-----------------------------------
-2 | 88 0.87 0.87
-1 | 320 3.16 4.03
0 | 1,613 15.92 19.94
1 | 1 0.01 19.95
3 | 1 0.01 19.96
20 | 1 0.01 19.97
30 | 1 0.01 19.98
50 | 1 0.01 19.99
70 | 1 0.01 20.00
75 | 1 0.01 20.01
80 | 1 0.01 20.02
82 | 1 0.01 20.03
90 | 1 0.01 20.04
100 | 6 0.06 20.10
...
1500000 | 1 0.01 99.99
3000000 | 1 0.01 100.00
------------+-----------------------------------
Total | 10,135 100.00
. drop if Q9<90 | Q9>1000000
(2,033 observations deleted)
. sum Q9
Variable | Obs Mean Std. dev. Min Max
-------------+---------------------------------------------------------
Q9 | 8,103 40227.21 61677.8 90 1000000
. gen 月收入=Q9/12
. label variable 月收入 "2024年月收入"
. sum 月收入
Variable | Obs Mean Std. dev. Min Max
-------------+---------------------------------------------------------
月收入 | 8,103 3352.267 5139.817 7.5 83333.34重新编码变量的取值
语法: recode varname (rule), gen(newvar) | into(newvar)
varname:需要重编码的原始变量。(rule):指定如何将原始值映射到新值。gen(newvar):生成一个新变量(推荐使用)。into(newvar):在已有变量中覆盖结果(慎用)。其中 rule 写法如下:
写法 | 含义 |
|---|---|
| 小于等于 val 的都变为 new |
| 大于等于 val 的都变为 new |
| 在 lower 到 upper 之间的变为 new |
示例:
示例 1:将年龄分成年龄段(生成新变量)
recode age (18/25=1 "18-25") (26/35=2 "26-35") (36/50=3 "36-50"), gen(age_group)这会创建一个新变量 age_group,将 age 变量按区间划分:
原始值范围 | 新值 |
|---|---|
18 - 25 | 1 |
26 - 35 | 2 |
36 - 50 | 3 |
注意:括号中的
"标签"是可选的,用于给每个组添加描述性标签(需要配合label define使用)。
示例 2:合并类别变量
假设你有一个性别变量 gender,取值为:
1 = Male2 = Female3 = Other你想把 Other 合并进 Female(即 2):
recode gender (1=1) (2=2) (3=2), gen(gender_new)这样 gender_new 的取值只有 1 和 2。
示例 3:处理缺失值或异常值
如果你想把某些异常值设为缺失值:
recode income (9999999=.) , gen(income_clean)这会将所有等于 9999999 的值设置为缺失值(.)。
保存内存中的数据到文件中
一般用法: save file.dta
选项:
replace 覆盖已有文件version(x) 指定版本兼容格式存储、管理、比较和输出回归模型估计结果,通常与 reg 搭配使用
变体:
est store name 将当前估计结果保存为 nameest table name1 name2 ... 显示多个保存过的模型结果est restore name 恢复之前保存的模型est drop name 删除保存的模型est clear 清除所有已保存的模型estimates save / load 将估计结果保存到文件或从文件加载将回归模型估计结果输出到 Word / Excel
使用前需要安装:
ssc install esttab一般用法:
esttab model1 model2 model3 using results.rtf, replace ///
title("工作满意度影响因素分析") ///
label booktabs se star(* 0.1 ** 0.05 *** 0.01) ///
stats(N r2_a)选项:
选项 | 含义 |
|---|---|
| 不在系数和标准误之间留空行(紧凑显示) |
| 紧凑排版,节省空间 |
| 系数保留 3 位小数,并用 20 个字符宽度对齐 |
| 标准误保留 3 位小数,用 7 个字符宽度对齐 |
nogaps 不在系数和标准误之间留空行(紧凑显示)compress 紧凑排版,节省空间b(%20.3f) 系数保留 3 位小数,并用 20 个字符宽度对齐示例:
reg 工作满意度 i.婚姻状况 年龄 性别 // 基础模型
est store 模型1
reg 工作满意度 i.婚姻状况 年龄 性别 月收入 i.教育程度 // 基础模型
est store 模型2
esttab 模型1 模型2 using 回归输出结果1.rtf, replace star(* 0.10 ** 0.05 *** 0.01 ) nogaps compress b(%20.3f) se(%7.3f) r2(%9.3f) ar2 obslast scalars(F) 用于测量两个变量之间是否独立。
a的取值,一般是0.01(对应置信水平99%)、0. 05 (对应置信水平95%,默认)、0.1(对应 置信水平90%,这是底限,不能再低了)
指令: tab2 varlist, by(varname)
又或者: tab2 主变量 其他变量1 其他变量2 ..., chi2 [其他选项]
参数:
chi2 / chi 添加卡方检验row / col 显示行/列百分比cell 显示单元格百分比missing 包括作为一个类别的缺失值all 显示所有类型的百分比,相当于 row col cell示例:
. tab2 婚姻状况 性别, row col chi2 nokey
-> tabulation of 婚姻状况 by 性别
RECODE of Q11 |
(婚姻状况 | 性别
) | 男 女 | Total
--------------+----------------------+----------
未婚 | 320 184 | 504 <-- 频数
| 63.49 36.51 | 100.00 <-- 行百分比
| 15.01 10.41 | 12.92 <-- 列百分比
--------------+----------------------+----------
已婚/同居 | 1,719 1,452 | 3,171
| 54.21 45.79 | 100.00
| 80.63 82.13 | 81.31
--------------+----------------------+----------
离婚/丧偶 | 93 132 | 225
| 41.33 58.67 | 100.00
| 4.36 7.47 | 5.77
--------------+----------------------+----------
Total | 2,132 1,768 | 3,900
| 54.67 45.33 | 100.00
| 100.00 100.00 | 100.00
Pearson chi2(2) = 32.2475 Pr = 0.000 <-- chi2: 卡方值; Pr: P 值上面的示例输出结果显示 p 值非常小(< 0.001),说明 婚姻状况与性别之间存在统计显著的关系。
也就是说,不同性别在婚姻状况上的分布不是随机的,是有差异的。
判断两个组之间的均值是否存在显著差异
数据要求: 因变量一般适用于数值型变量,也可以用于定序变量(级数最好超过5级的态度量表)
内容 | 解释 |
|---|---|
Obs | 观测数量 |
Mean | 均值 |
Std. Err | 标准误(衡量样本均值估计的精度) |
Std. dev. | 标准差 |
t | t 统计量 |
Degrees of freedom (df) | 自由度 |
**p-value (Pr > | t |
Confidence interval 95% Conf. Interval | 95% 置信区间 |
检验一个变量的平均值是否等于某个特定值
一般用法: ttest 变量名 == 数值
示例:
. ttest 月收入 = 5500
One-sample t test
------------------------------------------------------------------------------
Variable | Obs Mean Std. err. Std. dev. [95% conf. interval]
---------+--------------------------------------------------------------------
月收入 | 3,900 5017.525 102.4511 6398.07 4816.662 5218.388
------------------------------------------------------------------------------
mean = mean(月收入) t = -4.7093
H0: mean = 5500 Degrees of freedom = 3899
Ha: mean < 5500 Ha: mean != 5500 Ha: mean > 5500
Pr(T < t) = 0.0000 Pr(|T| > |t|) = 0.0000 Pr(T > t) = 1.0000
. 部分数据解读:
我们有三种不同的备择假设:
备择假设 | p 值 | 含义 |
|---|---|---|
平均收入 < 5500 | 0.0000 | 极其显著 |
平均收入 ≠ 5500(双尾) | 0.0000 | 极其显著 |
平均收入 > 5500 | 1.0000 | 完全不支持 |
结论:
通过单样本 t 检验发现,样本的平均月收入为 5017.53 元,显著低于 5500 元(p < 0.001),拒绝“平均月收入等于 5500”的原假设。
比较两个独立群体的平均值是否有显著差异
一般用法: ttest 变量名, by(分组变量)
示例:
. ttest 月收入, by(性别)
Two-sample t test with equal variances
------------------------------------------------------------------------------
Group | Obs Mean Std. err. Std. dev. [95% conf. interval]
---------+--------------------------------------------------------------------
男 | 2,132 5732.543 153.5135 7088.271 5431.491 6033.595
女 | 1,768 4155.298 126.6787 5326.535 3906.842 4403.754
---------+--------------------------------------------------------------------
Combined | 3,900 5017.525 102.4511 6398.07 4816.662 5218.388
---------+--------------------------------------------------------------------
diff | 1577.245 204.2707 1176.757 1977.732
------------------------------------------------------------------------------
diff = mean(男) - mean(女) t = 7.7213
H0: diff = 0 Degrees of freedom = 3898
Ha: diff < 0 Ha: diff != 0 Ha: diff > 0
Pr(T < t) = 1.0000 Pr(|T| > |t|) = 0.0000 Pr(T > t) = 0.0000结论:
独立样本 t 检验结果显示,男性的平均月收入显著高于女性(p < 0.001),两组差异为 1577 元。
检验同一样本在前后两次测量值或在一次测量中两种量表分数/ 测验分数的均值,确定二者之间是否显著不同
一般用法: ttest 变量1 == 变量2
检验不同组别之间的方差是否相等
一般用法: robvar 变量名, by(分组变量)
输出:
统计量 | 描述 |
|---|---|
W0 | 使用组内中位数偏差的对数标准差回归(最常用) |
W1 | 使用组内均值偏差的对数标准差回归 |
W2 | 使用组内均值偏差的标准差直接回归 |
如果反差不齐性并且你需要做 t 检验,应该使用 unequal 或 welch 选项
ttest 月收入, by(性别) unequal示例:
. robvar 月收入,by(教育程度)
RECODE of |
Q10 |
(教育程 | Summary of 2024年月收入
度) | Mean Std. dev. Freq.
------------+------------------------------------
小学及以 | 2567.4288 2776.9831 619
初中 | 3925.7338 5211.6473 1,245
高中/中专 | 4831.0771 4892.7945 858
大专及以 | 7594.6576 8621.3015 1,178
------------+------------------------------------
Total | 5017.5251 6398.07 3,900
W0 = 66.010015 df(3, 3896) Pr > F = 0.00000000
W50 = 45.904817 df(3, 3896) Pr > F = 0.00000000
W10 = 48.852170 df(3, 3896) Pr > F = 0.00000000此处P=0.0000,即可以使用 welch方法
检验三个或以上独立组的均值是否相等
前提: 正态性, 方差齐性, 独立性
一般用法: oneway 因变量 分组变量, tabulate bonferroni scheffe sidak
非参数检验 ,用于比较三个或以上独立组的中位数是否存在显著差异
一般用法: kwallis 因变量, by(分组变量)
示例:
. kwallis 月收入, by(教育程度)
Kruskal–Wallis equality-of-populations rank test
+------------------------------------+
| 教育程度 | Obs | Rank sum |
|----------------+-------+-----------|
| 小学及以下 | 619 | 747313.00 |
| 初中 | 1,245 | 2.10e+06 |
| 高中/中专/技校 | 858 | 1.74e+06 |
| 大专及以上 | 1,178 | 3.01e+06 |
+------------------------------------+
chi2(3) = 682.770
Prob = 0.0001
chi2(3) with ties = 684.057
Prob = 0.0001此处 P=0.0001,远小于0.05,说明不同教育程度群体的月收入中位数存在显著差异,需进一步进行事后检验确定哪些组间存在差异。
在 Kruskal-Wallis 检验显著后,用于确定具体哪些组之间存在差异
使用前需要安装:
ssc install dunntest若该命令不能运行,通过运行search dunntest,选择其中一个安装包进行安装。
一般用法: dunntest 因变量, by(分组变量) method(bonferroni|holm|none)
示例:
. dunntest 月收入, by(教育程度)
Kruskal–Wallis equality-of-populations rank test
+------------------------------------+
| 教育程度 | Obs | Rank sum |
|----------------+-------+-----------|
| 小学及以下 | 619 | 747313.00 |
| 初中 | 1,245 | 2.10e+06 |
| 高中/中专/技校 | 858 | 1.74e+06 |
| 大专及以上 | 1,178 | 3.01e+06 |
+------------------------------------+
chi2(3) = 682.770
Prob = 0.0001
chi2(3) with ties = 684.057
Prob = 0.0001
Dunn's Pairwise Comparison of 月收入 by 教育程度
(No adjustment)
Col Mean-|
Row Mean | 小学� 初中 高中/�
---------+---------------------------------
初中 | -8.717981
| 0.0000
|
高中/� | -1.39e+01 -6.873605
| 0.0000 0.0000
|
大专� | -2.42e+01 -1.90e+01 -1.04e+01
| 0.0000 0.0000 0.0000这是 Dunn 检验的结果矩阵 ,显示的是每两组之间进行成对比较的 Z 值和对应的 p 值。
表格中每一行表示一个组(Row),与上面的列(Column)组进行比较。负值表示 Row 组的收入中位数低于 Col 组。
对比组 | Z 值 | p 值 | 是否显著(p < 0.05) |
|---|---|---|---|
初中 vs 小学 | -8.72 | 0.0000 | 是 |
高中 vs 小学 | -13.9 | 0.0000 | 是 |
高中 vs 初中 | -6.87 | 0.0000 | 是 |
大专 vs 小学 | -24.2 | 0.0000 | 是 |
大专 vs 初中 | -19.0 | 0.0000 | 是 |
大专 vs 高中 | -10.4 | 0.0000 | 是 |
结论: 在控制多重比较误差的情况下,所有教育程度组之间的月收入中位数都存在统计上显著的差异(p < 0.001)。 且随着教育程度提高,收入水平显著上升。
计算变量之间的皮尔逊相关系数(Pearson Correlation Coefficient) ,可以帮助我们快速了解多个连续变量之间两两的相关程度。
一般用法: pwcorr varlist [if] [in] [, options]
选项:
sig: 显示每个相关系数的显著性 p 值star(#): 标记显著水平(如star(0.05)表示 p < 0.05 的相关系数标 *)obs: 显示每对变量使用的样本数量print(#) 只显示相关系数大于 # 或小于 -# 的值(用于筛选强相关)pw或listwise 使用 listwise 删除缺失值(默认是 pairwise)示例:
. pwcorr 工作满意度 月收入 年龄, obs star(.05)
| 工作~度 月收入 年龄
-------------+---------------------------
工作满意度 | 1.0000
| 3900
|
月收入 | 0.1095* 1.0000
| 3900 3900
|
年龄 | 0.0070 -0.1617* 1.0000
| 3900 3900 3900以工作满意度与年龄为例:
结论:
在 3900 个有效样本中,工作满意度与月收入呈微弱正相关,月收入与年龄呈微弱负相关,而工作满意度与年龄几乎无关。
执行线性回归分析,适用于研究一个连续因变量、与一个或多个自变量之间的线性关系。
基本用法: reg 因变量 自变量1 自变量2 ...
选项:
| 输出标准化回归系数(便于比较不同变量的影响大小) |
|---|---|
| 使用稳健标准误(处理异方差问题) |
| 不包含常数项(截距) |
| 设置置信区间为 99%(默认是 95%) |
beta : 输出标准化回归系数(便于比较不同变量的影响大小)vce(robust): 使用稳健标准误(处理异方差问题)noconstant 不包含常数项(截距)输出结果:
指标 | 含义 |
|---|---|
Number of obs | 样本数量 |
F(model, residual) | F 检验值,判断整个模型是否显著 |
Prob > F | F 检验的 p 值,小于 0.05 表示模型整体显著 |
R-squared | 决定系数,表示模型能解释因变量变异的比例 |
Adj R-squared | 调整后的决定系数R^2(考虑了变量个数) |
Root MSE | 模型的标准误,越小越好 |
示例:
. reg 工作满意度 i.婚姻状况 年龄 性别
Source | SS df MS Number of obs = 3,900
-------------+---------------------------------- F(4, 3895) = 4.81
Model | 85.9465517 4 21.4866379 Prob > F = 0.0007
Residual | 17399.7724 3,895 4.4672073 R-squared = 0.0049
-------------+---------------------------------- Adj R-squared = 0.0039
Total | 17485.719 3,899 4.4846676 Root MSE = 2.1136
------------------------------------------------------------------------------
工作满意度 | Coefficient Std. err. t P>|t| [95% conf. interval]
-------------+----------------------------------------------------------------
婚姻状况 |
已婚/同居 | .155059 .1159594 1.34 0.181 -.072288 .382406
离婚/丧偶 | .0520416 .183447 0.28 0.777 -.3076197 .4117028
|
年龄 | .000486 .003471 0.14 0.889 -.0063191 .0072911
性别 | .2719668 .0690616 3.94 0.000 .1365664 .4073672
_cons | 7.033628 .1833333 38.37 0.000 6.67419 7.393067
------------------------------------------------------------------------------结论:模型整体显著,但解释力较弱(R² 很低),说明还有很多未被纳入的因素影响工作满意度。
变量 | 系数 | 标准误 | t 值 | p 值 | 是否显著? | 解释 |
|---|---|---|---|---|---|---|
已婚/同居 | 0.155 | 0.116 | 1.34 | 0.181 | ❌ 不显著 | 相比未婚者,工作满意度平均高出 0.155 分,但不显著 |
离婚/丧偶 | 0.052 | 0.183 | 0.28 | 0.777 | ❌ 不显著 | 相比未婚者,工作满意度几乎无差异 |
变量 | 系数 | 标准误 | t 值 | p 值 | 是否显著? | 解释 |
|---|---|---|---|---|---|---|
年龄 | 0.000486 | 0.00347 | 0.14 | 0.889 | ❌ 不显著 | 每增加一岁,工作满意度仅上升 0.0005 分,不显著 |
变量 | 系数 | 标准误 | t 值 | p 值 | 是否显著? | 解释 |
|---|---|---|---|---|---|---|
性别 | 0.272 | 0.069 | 3.94 | 0.000 | ✅ 显著(p < 0.001) | 男性比女性平均高 0.272 分 |
变量 | 系数 | 解释 |
|---|---|---|
_cons | 7.034 | 当所有自变量取 0 时(即未婚、女性、年龄=0),预期工作满意度为 7.03 分 |
在控制婚姻状况和年龄后,性别对工作满意度有显著影响(男性高于女性),但婚姻状况和年龄本身对工作满意度没有显著影响;模型整体显著,但解释力较低(R² = 0.49%),说明还有更多未被测量的重要因素。
逻辑回归是一种广义线性模型(Generalized Linear Model, GLM) ,用来预测某个事件发生的概率 ,并估计自变量对这个概率的影响。
不同于线性回归输出的是连续值,逻辑回归输出的是一个介于 0 和 1 之间的发生概率 。
逻辑回归适用于因变量为二分类变量 (binary outcome)的情况,例如:
基本用法: logistic 因变量 自变量1 自变量2 ..., [选项]
输出指标:
指标 | 含义 |
|---|---|
Number of obs | 样本数量(这里是 3900) |
LR chi2(4) | 似然比卡方检验统计量,判断模型整体是否显著 |
Prob > chi2 | p 值 < 0.05 表示模型显著 |
Pseudo R2 | 拟似决定系数(伪 R²),衡量模型拟合优度 |
OR 值(Odds Ratio):
示例:
. logistic 满意度分组 i.婚姻状况 年龄 性别 // 基础模型
Logistic regression Number of obs = 3,900
LR chi2(4) = 18.76
Prob > chi2 = 0.0009
Log likelihood = -2617.3811 Pseudo R2 = 0.0036
------------------------------------------------------------------------------
满意度分组 | Odds ratio Std. err. z P>|z| [95% conf. interval]
-------------+----------------------------------------------------------------
婚姻状况 |
已婚/同居 | 1.318581 .1460659 2.50 0.013 1.061243 1.63832
离婚/丧偶 | 1.483392 .2649203 2.21 0.027 1.045295 2.1051
|
年龄 | 1.000803 .0033622 0.24 0.811 .9942343 1.007414
性别 | 1.194392 .0799448 2.65 0.008 1.047546 1.361824
_cons | .8684218 .1532879 -0.80 0.424 .6144442 1.22738
------------------------------------------------------------------------------
Note: _cons estimates baseline odds.变量 | OR 值 | 标准误 | z 值 | p 值 | 是否显著? | 解释 |
|---|---|---|---|---|---|---|
已婚/同居 | 1.319 | 0.146 | 2.50 | 0.013 | ✅ 显著 | 相比未婚者,已婚/同居者的满意度更高(高出约 31.9%) |
离婚/丧偶 | 1.483 | 0.265 | 2.21 | 0.027 | ✅ 显著 | 离婚/丧偶者满意度最高,比未婚者高出约 48.3% |
变量 | OR 值 | 标准误 | z 值 | p 值 | 是否显著? | 解释 |
|---|---|---|---|---|---|---|
年龄 | 1.0008 | 0.0034 | 0.24 | 0.811 | ❌ 不显著 | 年龄对满意度几乎没有影响 |
变量 | OR 值 | 标准误 | z 值 | p 值 | 是否显著? | 解释 |
|---|---|---|---|---|---|---|
性别 | 1.194 | 0.0799 | 2.65 | 0.008 | ✅ 显著 | 男性比女性满意度高约 19.4% |
变量 | OR 值 | 解释 |
|---|---|---|
_cons | 0.868 | 表示在所有自变量取 0(即未婚、女性、年龄=0)时,满意 vs 不满意的基线优势比 |
结论: 在控制其他变量后,婚姻状况和性别对满意度有显著影响 :已婚/同居和离婚/丧偶的人满意度高于未婚者,且男性的满意度显著高于女性;而年龄对满意度没有显著影响。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。