含义描述
collapse 将变量数据转换为均值、和、中位数等等。clist 必须为数字变量。
语法与选项
collapse clist [if] [in] [weight] [, options]
where clist is either
[(stat)] varlist [ [(stat)] ... ]
[(stat)] target_var=varname [target_var=varname ...] [ [(stat)] ...]
or any combination of the varlist or target_var forms, and stat is one of
mean means (default) //默认为均值
median medians //中位数
p1 1st percentile
p2 2nd percentile
... 3rd-49th percentiles
p50 50th percentile (same as median) //第50分位点
... 51st-97th percentiles
p98 98th percentile
p99 99th percentile
sd standard deviations //标准差
semean standard error of the mean (sd/sqrt(n)) //平均值的标准误
sebinomial standard error of the mean, binomial (sqrt(p(1-p)/n))
sepoisson standard error of the mean, Poisson (sqrt(mean))
sum sums //求和
rawsum sums, ignoring optionally specified weight except observations with a weight of zero are excluded
count number of nonmissing observations //非缺失观测数
percent percentage of nonmissing observations //非缺失观测数百分比
max maximums //最大值
min minimums //最小值
iqr interquartile range //四分位范围
first first value // 第一个值
last last value //最后一个值
firstnm first nonmissing value //第一个非缺失值
lastnm last nonmissing value //最后一个非缺失值
如果未指定stat,则假定为平均值。 means (default)
选项 | 功能 |
---|---|
by(varlist) | 用来按某变量分类计算统计量的值。可以是一个,也可以是多个。 |
cw | 删除含有缺失值的观测值。 |
fast) | 如果用户按Break键,则不要还原原始数据集;编程时用的命令,一般人不使用,可以忽视。 |
例子
use https://www.stata-press.com/data/r16/college,clear
list, sep(4)
统计出每个年级的平均绩点(gap)
collapse (mean) gpa , by(year)
list
统计出每个年级的平均绩点(gap),并命名为mean_gpa
use https://www.stata-press.com/data/r16/college,clear
collapse (mean) mean_gpa=gpa, by(year)
list
统计出每个年级的平均绩点(gap)与学习时间(hour)
use https://www.stata-press.com/data/r16/college,clear
collapse (mean) gpa hour, by(year)
list
这里考虑权重,权重等于年级人数 [fw=number]。collapse 允许四种权重类型;默认值为aweights。权重标准化只影响总和、计数、方差,标准误和 sebinomia l统计。
use https://www.stata-press.com/data/r16/college,clear
collapse (mean) gpa [fw=number], by(year)
list
当变量中存在缺失值时,使用cw选项会将存在缺失值的该行观测值全部删除,因此得到的统计量的值均为删除这些行以后计算得到的;若不使用该选项,则只影响含有缺失值的变量的统计量。仍以college数据为例,我们将2-4行的gpa数据替换为缺失值:
use https://www.stata-press.com/data/r16/college,clear
replace gpa= . in 2/4
list in 1/5
而后对gpa和hour按年级求均值,首先来看一下不使用cw选项时的结果,程序如下:
collapse (mean) gpa hour , by(year)
list
对比前面没有缺失值时所得的均值,由于2-4行均属于一年级,因而在以年级分类计算均值时,只有一年级的gpa受到了影响,hour的均值与前面一致。如果使用cw选项:
use https://www.stata-press.com/data/r16/college,clear
replace gpa= . in 2/4
collapse (mean) gpa hour, by(year) cw
list
使用cw后,由于一年级的数据只剩下第一行,其余行全部删掉,因而一年级的hour变量的均值也发生了变化,在计算时只对原数据的第一行进行了平均。
参考资料:
本文的例子来源于微信公众号:Stata and Python数据分析
利用collapse命令转化原始数据