//StataBy-groupProcessing.In-depthTopicofStataWorkshop2(DataManagement)//byChangY.Chungon2014-09-16//clist与list....,clean用法类似,但从stata12起不再更新sysuseautolistmakepricempggear_ratioforeign,nol ...
免费学术公开课,扫码加入
|
- // Stata By-group Processing. In-depth Topic of Stata Workshop 2 (Data Management)
- // by Chang Y. Chung on 2014-09-16
- //clist与list....,clean用法类似,但从stata12起不再更新
- sysuse auto
- list make price mpg gear_ratio foreign, nolabel clean
- clist make price mpg gear_ratio foreign, nolabel
- // 数据集(矩阵形式)
- // 新建一个简单的数据集
- clear
- input x y
- 1 2
- 1 3
- 1 4
- end
-
- // 修改变量值
- replace x = 2 * y
- list
-
- //还可通过循环语句对每个观测值加以修改
- gen x2 = .
- local N = _N
- forval obs = 1/`N' {
- replace x2 = 2 * y[`obs'] if `obs' == _n
- }
- list x x2
-
- // _N表示最后一个观测值的位置序号,即观测值总数
- // _n表示每个观测值的序号
- gen bigN = _N
- gen smallN = _n
- list *N
-
- // 所有数据先导入内存
- // 调用数据
- sysuse auto, clear
- // make第二个变量值
- di make[2]
- // make最后一个变量值
- di make[_N]
-
- // _n表示每个观测值的序号,例如:price[_n] 在多数情况下与price无异
- gen priceSq1 = price * price
- gen priceSq2 = price[_n] * price[_n]
- assert priceSq1 == priceSq2// 使用assert加以判断语句正确性,没有返回内容说明二者相等
-
- // lag and lead: 滞后与提前
- //保留前5个观测值
- keep if _n <= 5
- sort make
- list make price
-
- // lagPrice——新建变量,意为price的滞后一期
- gen lagPrice = price[_n-1]
- list make price lagPrice
- //由于price格式为%8.0gc,所以调整lagPrice格式
- format lagPrice %8.0gc
- list make price lagPrice
- // 滞后多期
- gen lag2Price = price[_n-2]
- format lag2Price %8.0gc
- list make price lag2Price
- // 先前一期
- gen leadPrice = price[_n+1]
- format leadPrice %8.0gc
- list make price leadPrice
-
- // 时间序列中:以tsset 后设定(L., L2., ...)(F.,F2.,...)(D.,D2.,....)(S4.,S8.,....)
- // 替换上述复杂手动方式: help tsset
-
- // 变量排序
- sysuse auto, clear
- // 现有序列:
- des
- // make mpg headroom weight ... price
- // 将前三个变量改为:mpg make and price
- order mpg make price, first // first选项(默认) 可以不附加
- des
- // last选项,排为最后三个
- order mpg make price, last // last将变量移动最后端
- des
-
- // 将某些变量排位于指定变量前:
- order mpg make price, before(trunk)
- des
-
- // 指定位置后插入 即trunk后
- order mpg make price, after(trunk)
- des
-
- // 变量值排序
- // 对于字符变量,在Stata中空字符串最小,会被排在最前
- replace make = trim("") in 3/5
- // 第3-5个变量值替换为空字符串,这与删除变量值中空格 ("")不同
- // 此处也是产生空字符串的技巧之一
- list make price in 1/10
- // sort:升序排列,stable选项:以当前选定区域排序,其他变量按照原来顺序排列
- sort make, stable
- // 空字符串如前述排在最前
- list make price in 1/10
- // gsort:降序排列
- gsort -make
- list make price in 1/10
-
- // 对于数值型变量,缺失值最大,会被排在最后
- //除了".",Stata中实际上有26种缺失值,即".a "".b " ...".z",他们之间及非缺失值的顺序:
- //非缺失值< . < .a < .b < ... < .z
- replace price = . in 5
- replace price = .d in 6
- sort price, stable
- list make price in -6/L
-
- //对选定多变量排序,其余变量维持不变,实际这两个变量应存在对应关系:如foreign与make
- sort foreign make, stable
- by foreign: list foreign make if _n <=5
-
-
- // 组合分析
- /*
- 通过对类别变量categorical variables的分层处理来校验连续性变量continuous variables的取值概况
- */
- // 查验foreign中的层别概况
- tab foreign, nolabel missing
- // 如果分类变量取值较多,添加by选项对类别逐一分析,但处理前需要排序:
- sysuse auto
- sort foreign, stable
- by foreign: summarize price // 2次描述性统计,形成foreign与price(分类*连续变量组合分析)
-
- //上述两步可合为一步:
- bysort foreign: summarize price
- // 或:
- by foreign, sort: summarize price
-
- // 如果附加(),那么实际上只是被排序,而没有形成连续型+类别型变量组合
- bysort foreign (make): summarize price //仅2次描述性统计
-
- //系统变量: _n 和 _N在连续型+类别型变量组合内会依据类别重置,注意Domestic和foreign的_N _n
- sort foreign make, stable
- by foreign (make): gen bigN = _N
- by foreign (make): gen smallN = _n
- list make foreign *N
复制代码by是很多命令的前缀。[by varlist:]表示对varlist(分类变量)中的每一类分别执行命令。
- webuse fillin1
- list
- fillin sex race age_group
- list
复制代码
|
|
「经管之家」APP:经管人学习、答疑、交友,就上经管之家!
免流量费下载资料----在经管之家app可以下载论坛上的所有资源,并且不额外收取下载高峰期的论坛币。
涵盖所有经管领域的优秀内容----覆盖经济、管理、金融投资、计量统计、数据分析、国贸、财会等专业的学习宝库,各类资料应有尽有。
来自五湖四海的经管达人----已经有上千万的经管人来到这里,你可以找到任何学科方向、有共同话题的朋友。
经管之家(原人大经济论坛),跨越高校的围墙,带你走进经管知识的新世界。
扫描下方二维码下载并注册APP
本文关键词:
本文论坛网址:https://bbs.pinggu.org/thread-3834511-1-1.html
1.凡人大经济论坛-经管之家转载的文章,均出自其它媒体或其他官网介绍,目的在于传递更多的信息,并不代表本站赞同其观点和其真实性负责;
2.转载的文章仅代表原创作者观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,本站对该文以及其中全部或者部分内容、文字的真实性、完整性、及时性,不作出任何保证或承若;
3.如本站转载稿涉及版权等问题,请作者及时联系本站,我们会及时处理。