经管之家送您一份
应届毕业生专属福利!
求职就业群
感谢您参与论坛问题回答
经管之家送您两个论坛币!
+2 论坛币
Stata基础操作:数据管理
Stata WorkShop2:Data Management
Chang Y. Chung
Princeton University | - // Stata Date & Time. In-depth Topic of Stata Workshop 2 (Data Management)
- // by Chang Y. Chung 2014-09-16
- //两种变量存储格式:数值型与字符型
- /*
- |--------|---------|
- | byte | str1 |
- | int | str2 |
- | long | ... |
- | float | str2045 |
- | double | strL |
- |--------|---------|
- */
- /*数值型变量按照精度分为5种,字符型变量通常描述特征信息,
- 但也可以由数字构成,这时仅代表标识符,如身份证号码*/
- clear all
- sysuse auto
- // 查看auto.dta中的变量及存储类型
- des
- // 变量make为唯一的字符型变量,前四个数据
- list make in f/4
- // 其余变量为数值型,price前三个数据:
- list price in -3/L
- //数字型变量转字符型:
- /*方法一:string:*/
- gen strID = string(2340285 + _n, "%09.0f")
- list strID in 1/4
- /*方法二: tostring */
- tostring mpg,replace
- tostring price,gen(price1)
- //字符型转化为数值型
- /*
- real()函数:字符中没有特殊符号,一般用法:
- generate double nVar = real(strVar)
- 其中,增添double改变了默认存储的精度,举例如下:
- */
- // strID --> numeric ID,其中
- gen double nID = real(strID)
- list *ID in 1/4
- /* 如含特殊字符如“空格 - %”等,real()则会返回缺失值,可考虑:
- destring:附加ignore,如*/
- clear
- input str10 date
- "2020-07"
- "1606"
- end
- gen date1 = real(date)
- browse
- destring date,replace ignore("-")
- // 删除
- drop strID nID
- //显示格式
- /*
- | -------- | ------------------------------ |
- | %#.#g | %8.0g price:4697-->4697 |
- | %#.#f | %8.2f price:4697-->4697.00 |
- | %#.#gc | %8.0gc price:4697-->4,697 |
- | %#.#fc | %8.2fc price:4697-->4,697.00 |
- | -------- | ------------------------------ |
- */
- %为通用格式,后面添加"-"即为:左对齐
- 更多参考help format
- */
- // 查看auto中变量的显示格式
- des
-
- // price的最后三个变量值:
- list price in -3/L
- // 改变price的显示格式,两位小数显示
- format price %8.2f
- list price in -3/L
-
- // 前面添加2位小数(对齐用,如编号id)
- format price %06.0f
- list price in -3/L
-
- // 恢复
- format price %8.0gc
-
-
- // 变量值标签
- // 查看变量标签,如foreign
- sysuse auto
- des foreign
- // 查看变量值标签
- label list
- // 频数表
- tab foreign
-
- // 附加nolabel:查看变量值标签对应的数字
- tab foreign, nolabel
- //以foreign为例,暂先移除标签,然后演示如何添加变量值标签
- label values foreign
- // 或者直接将origin标签删除
- label drop origin
- // foreign的频数表中不再含有标签
- tab foreign
-
- //给变量值加标签的方法(2步)
- // 1.定义标签
- // 2.将其关联到foreign的观测值中
- label define origin 1 "Foreign" 0 "Domestic"
- label values foreign origin
- // 查验
- tab foreign
-
- // numlabel_为变量值标签加数字前缀
- //这样可以不附加nolabel,便可实现变量值标签文字数字对应
- numlabel origin, add
- tab foreign
- // 移除数字前缀
- numlabel origin, remove
复制代码 | - /*
- 函数 返回值类型 含义
- |-----------------------------------------------------
- | reverse() | 字符型 | 倒转字符顺序
- | trim() | 字符型 | 去掉字符前后空字符
- | ltrim() | 字符型 | 去掉字符前空字符
- | rtrim() | 字符型 | 去掉字符后空字符
- | string() | 字符型 | 将数值转化为字符
- | real() | 数值型 | 将字符转化为数值
- | wordcount() | 数值型 | 字数统计
- | substr(s,n1,n2) | 字符型 | 将s的n1-n2位提取出来
- | strpos(a,b) | 数值型 | 获取b在整个a中首次出现位置
- | length() | 数值型 | 字符长度
- | proper() | 字符型 | 首字母大写
- |------------------------------------------------------
- */
复制代码 inspect:负值/零值/正值/唯一值/缺失值/直方图 |
- sysuse auto,clear
- inspect //所有变量(默认)
- inspect price
复制代码
|
|
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
|