Stata 学习笔记(1)

作者: 拨动心弦L | 来源:发表于2017-10-29 19:47 被阅读178次
Stata

最近在学习Stata,刚刚从头学起,发现里面的命令超级多,就边学习边记录下来,留给自己看,同时也分享给大家。可能有的地方我理解的也不对,如果有错误,请帮我指出,欢迎大家一起探讨。高手 / 大神 / 大佬 / 可以忽略啦…(⊙_⊙;)…,当然也可以教教我……

图比较多,用流量要注意哦。

[TOC]

Stata笔记

0.pwd

显示当前所在目录。

pwd

1.clear

清除内存数据。数据都是存入内存来计算的,所以在输入大量数据之前,要先清除内存中的数据来释放空间。

删除的不光包括数据,还有变量,以及Data Editor 中的数据。(就是删除所有数据,什么都不留)

不影响已经存在硬盘上的数据。(只删除内存中的所有数据)

具体使用方法在下文中有具体例子。

2.input

手动输入数据。
可以分五次输入,也可以直接复制到Command。

input x y x
50 30 20
20 30 50
20 52 60
end

3.save

保存数据。
此项如果保存在C盘可能因为权限不够而报错。换到其他盘符即可。

save data_name[,replace]

save 名称[,如果之前已经有这个名称,则替换(覆盖)。]

4.use

使用、导入数据。

use data_name[,clear]

use "file_path"[,clear]

use url[,clear]

use 名称[,清除。]

5.sysuse

导入软件安装时自带的数据时用。

sysuse auto,clear

导入汽车数据。

6.d/des/desc/describe

显示数据变量信息。(名称、类型等等)

describe[,detail]

7.sum & return list & ereturn list

sum price weight turn

(以刚刚导入的汽车价格数据为例,price weight turn 为变量名称)

显示一些相关信息。(观察值个数、平均数、最大最小值等等)

return list

return 可以简写为ret

返回更多信息(包括sum没有显示的)

ereturn list
ereturn 可以简写为eret
返回更详细的信息。
e:estimate,估计

8.reg

回归分析。

reg price weight turn foreign
reg 变量名

9.clear results

清除计算结果。就是刚才的return/ereturn list 的结果。

但是变量并没有被清除。

再次输入return/ereturn list会发现已经没有任何输出。

clear results

10.matrix

创建矩阵。

matrix A = I(5)

创建名称为A的5*5的矩阵。

mat list A

显示A矩阵。

mat dir

显示有多少矩阵。

clear matrix

清除矩阵。再次查看矩阵,一经发现没有了。

11.type

以下是tab键为分隔符的数据。

查看文件原始内容形式(.txt)。

12.insheet

导入文件内容。一定要说明后缀名。

insheet using data.txt,clear

13.rename

修改变量名称。

rename old_var_name new_var_name

在导入的时候直接修改变量名称,同时也是批量(一定要对应)。不用一条条的修改。

insheet a p w t using data.txt,clear

14.infile

以下是space键(空格)为分隔符的数据。

直接使用insheet 导入无法识别所有变量,将其视为一个变量。

如果非要用insheet导入,在最后加上delimiter选项。就可以正常导入了。

insheet using datas.txt,clear delimiter(" ")

使用infile可以直接导入以空格为分隔符的数据。而不用指定delimiter。同时可以指定变量名。

infile p w t using datas.txt,clear

包含字符串的情况下:

直接导入会出现错误。

指定变量名的情况下,也会出现数据遗漏,文字都变成“·”。

infile str20 v1 int v2 int v3 int v4 str10 v5 using strdata.txt,clear

str:字符串类型(文字)
int:数值类型(数字)

指定变量类型后,可以顺利导入。

以逗号为分隔符的数据和上面一样。

原始数据:

导入:

infile str20 v1 int v2 int v3 int v4 str10 v5 using ddata.txt,clear

15.browse

查看数据表内容。

browse

16.xmluse

导入excel文件数据。

旧版方式

xmluse data.xlsx doctype(excel) clear firstrow -
本条命令是错误的

提示无法识别这种文件类型。

xmluse data.xml doctype(excel) clear firstrow
需要将excel另存为xml格式。然后再导入,就可以了。
doctype:指定文件类型,firstrow:第一行作为变量。

新版方式(Stata MP15.0)

import excel using data.xlsx,clear
直接导入excel,不用更改格式。

17.compress

精简优化资料的存储结构。(自动检测变量大小)(自适应)

compress

可以看到优化结果。同时browse可以发现name变量的宽度变小。

18.xpose

对调数据(转置)。

原始数据是横向的。

insheet using xpose.txt,clear
导入数据。

数据是横向的。

xpose,clear
要附加clear选项。

19.tsset

设定变量。

tsset data
设定时间变量。

如图,使用系统数据,然后设定date为时间变量。

结果显示:

20.outfile

导出数据。空格为分隔符。

outfile using data_auto, wide replace
wide:解除每行80字符的限制,使每个观察值占一行。

导出部分变量。

outfile make-price foreign using data_auto, wide replace

21.outsheet

导出数据。Tab键为分隔符。

outsheet make-mpg using data_outsheet,replace

22.xmlsave

导出数据。XML格式。

xmlsave data_xmlsave,doctype(excel) replace

23.变量

1. 命名规则:

(1)英文字母,数字,下划线组成,长度不超过32。
(2)不能以数字开头。
(3)区分大小写。
(4)尽量不要以_开头(虽然允许)。


2. 查看变量

ds [,has(type int)]
显示所有变量中类型为int的。
ds [,not(type byte)]
显示所有变量中类型不是byte的。
ds [,detail]
作用同des。


3. 查看/更改类型

list gear_ratio in 1/5
显示gear_ratio变量前五个。
d gear_ratio
显示gear_ratio变量信息。

下图中,%6.2f:%是定义格式前缀,6是整个变量最长占到6位,2是保留两位小数,f是fix简写,固定的格式(不论什么数据都以这种格式显示)。
recast int gear_ratio,force
❤ 更改gear_ratio变量类型为int。force强制更改。小数信息会丢失。
❤ 仍然显示小数是因为显示格式没有改变。

3. list

list price[,sep(int)]
显示price变量和值。sep:separate 每隔多少行划一道分割线。默认为5。0就是没有分割线。

list price in 1/30,sep(0)
显示price前30个值。sep(0)没有分割线。

sort rep78
以rep78进行排序。
list make price rep78 in 1/20,sepby(rep78)
显示make price rep78前20个,并以rep78的数据划分割线。

list price weight length ,noobs
noobs,不显示结果前面的序号。方便复制。
list price weight length ,noobs clean
clean,去除边框。仅显示数据。

24.format

定义显示格式(显示格式化)。

str18:字符串变量,占18空格
%-18s:靠左边
%18s:靠右边
%~18s:居中
%8.0g:
%6.2f:%是定义格式前缀,6是整个变量最长占到6位,2是保留两位小数,f是fix简写,固定的格式(不论什么数据都以这种格式显示)。

format price %6.1f
数据占6位,显示小数点后1位。
format gear_ratio %6.4f
数据占6位,显示小数点后4位。

执行上面两条命令后,结果显示:

25.label

为数据添加标签。

为样本添加标签(也就是整个数据)。

label [var var_name] data string

示例:

原始:

更改后:

为变量添加标签。

label var var_name [data] string
var:变量。var_name:变量名。

类别标签定义(数字-文字对应表)。

label define label_name
定义标签名

label values var_name label_name
将变量值与标签对应起来。

比如 1 代表 "好",2 "较好",3 "中",4 "较差",5 代表 "差"。

可以发现,1234等数字已经变为所对应的文字。

label dir
显示有多少标签。

label list
显示标签及其所对应的值。

labelbook 推荐使用
显示标签详细信息。

label drop label_name
删除数据标签。

可以看到repair标签已经被删除。

26.note(s)

添加注释(附加文字说明)。

note:Xiaowang:这是一个注释,为整份数据附加文字说明。
为整个数据添加附加说明。
notes
查看注释。

note weight:Xiaowang:这是一个注释,为变量附加文字说明。
为weight变量添加附加说明。

note drop weight
删除变量weight的注释。


先写这么多,下次继续更新。


相关文章

网友评论

    本文标题:Stata 学习笔记(1)

    本文链接:https://www.haomeiwen.com/subject/keoypxtx.html