Stata数据处理

Stata14安装
ssc install asdoc, replace //导入输出命令

数据处理

1.数据打开

use "E:\data\suto.dta"
sysuse suro.dta

打开部分变量:use make price using "E:\data\suto.dta"
打开部分样本:use "E:\data\suto.dta" in 5/10(第5个到10)
打开某些特征样本:use "E:\data\suto.dta" if foreign=1
打开网络数据 use http://www.stata-press.com/data/r9/nlswork

1.2. 数据的类型和压缩

1.2.1 数据类型

  1. 数值型
  2. 字符型
  3. 日期型(1999年1月1日->19990101)

1.2.2 数据压缩

compress [变量]

clear #清空内存
set obs 1 #样本容量设置为1,stata默认类型float
gen a=1 #变量a=1
describe #描述变量基本情况

1.3. 数据类型的转化

1.3.1 字符型转为数值型
sysuse water.dta,clear
destring year production captial, replace #replace指转化后的数据替换原有数据

若原来的字符型变量还有空格

sysuse water.dta,clear
destring date, replace ignore("")

若原来的字符型变量还有特殊字符

sysuse water.dta,clear
destring price, gen(price_1)  ignore("$")

数据.png

destring 服务时长,gen(t) ignore(时,分)

1.3.1 数值型转为字符型

sysuse water.dta,clear
tostring year gdp loan, replace 

2 数据导入

2.1 输入数据

1.菜单输入
2.命令输入

clear
input  str10name remarks
Mike 98
John 78
save chengji

2.2 使用已保存的Stata数据

  1. insheet,读取文本数据
    insheet using E:\data\citywater.csv

  2. infile,读取无固定格式文本数据

infile year production labor using E:\data\citywater.csv
  1. infix,读取无固定格式文本数据
infix gender 1 number 3-5 math 7-8 english 10-11 using E:\data\citywater.csv

3 数据的整理

3.1 数据的标签和排序

1.数据标签

  • 数据库添加标签:label data "1978年美国汽车横截面数据"
  • 变量添加标签:label variable mpg "每加仑油行驶里程数"
  • 分类变量添加标签:
label define foreignlabel 0 "Domestic" 1 "Foreign"
label values foreign foreignlabel #foreignlabel标签名
  • label dir #查看表情相关内容

3.2 排序数据

sort price
gsort + price

3.3 数据的拆分

  • 数据横向拆分
    删除变量或观测值:
sysuse water,clear
drop capital labor
save E:/data/wateroutput,replace

保留变量或观测值:

sysuse water,clear
keep capital labor
save E:/data/wateroutput,replace
  • 数据纵向拆分
sysuse car,clear
drop if foreign==1
save E:/data/domesticoutput,replace
sysuse car,clear
keep if foreign==1
save E:/data/foreignoutput,replace

数据合并

  • 数据横向合并


    image.png
  • 数据纵向合并


    image.png

拆分字符串:2019-07-02

use E:\Stata\data\serviceData2019.dta
gen year=substr(服务时间,1,4)
gen month=substr(服务时间,6,2)
gen day=substr(服务时间,9,2)
gen date=substr(服务时间,1,10) //20190702

数据的长宽转换

reshape long english science,i(number name) j(year)

参考:
《stata统计分析与应用》第二版 周光肃等著

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 沟通是人与人之间交流的桥梁,社会性的世界,良好的有效沟通不仅使双方达成一致意见,而且还能使双方准确地理解信息,这才...
    徐大文_1542阅读 66评论 0 0
  • 写下这个标题的时候,闺蜜芒果小姐使劲敲打我:你不要那么毒辣,给人一点希望呀,你的读者可是很多已经30多了的。 我说...
    月亮小姐6阅读 9,547评论 6 9
  • 这是巧克力中的奢侈品吧,第一次买是送人,第二次买还是送人。 教师节打算去看高中老师,思来想去决定买盒歌帝梵。这是一...
    不识_人间烟火阅读 184评论 1 3