Stata笔记1.clear2.input3.savee5.sysuse6.d/des/desc/describe7.sum & return list & ereturn list8.reg9.clear results10.matrix11.type12.insheet13.rename14.infile15.browse16.xmlusepress18.xpose19.tsset20.outfile21.outsheet22.xmlsave23.变量Stata笔记1.clear清除内存数据。
数据都是存入内存来计算的,所以在输入大量数据之前,要先清除内存中的数据来释放空间。
删除的不光包括数据,还有变量,以及Data Editor 中的数据。
(就是删除所有数据,什么都不留)不影响已经存在硬盘上的数据。
(只删除内存中的所有数据)具体使用方法在下文中有具体例子。
手动输入数据。
可以分五次输入,也可以直接复制到Command 。
input x y x50 30 2020 30 5020 52 60end保存数据。
此项如果保存在C 盘可能因为权限不够而报错。
换到其他盘符即可。
save data_name[,replace]save 名称[,如果之前已经有这个名称,则替换(覆盖)。
]使用、导入(.dta )数据。
use data_name[,clear]use “file_path”[,clear]use url[,clear]use 名称[,清除。
]2.input3.savee导入软件安装时自带的数据时用。
sysuse auto,clear导入汽车数据。
显示数据变量信息。
(名称、类型等等)describe[,detail]sum price weight turn(以刚刚导入的汽车价格数据为例,price weight turn 为变量名称)显示一些相关信息。
(观察值个数、平均数、最大最小值等等)5.sysuse6.d/des/desc/describe7.sum & return list & ereturn listreturn listreturn 可以简写为ret返回更多信息(包括sum 没有显示的)ereturn listereturn 可以简写为eret返回更详细的信息。
e:estimate,估计回归分析。
reg price weight turn foreignreg 变量名8.reg清除计算结果。
就是刚才的return/ereturn list 的结果。
但是变量并没有被清除。
再次输入return/ereturn list 会发现已经没有任何输出。
clear results创建矩阵。
matrix A = I(5)创建名称为A 的5*5的矩阵。
mat list A显示A 矩阵。
9.clear results10.matrixmat dir显示有多少矩阵。
clear matrix清除矩阵。
再次查看矩阵,一经发现没有了。
以下是tab 键为分隔符的数据。
查看文件原始内容形式(.txt )。
导入文件内容。
一定要说明后缀名。
insheet using data.txt,clear11.type12.insheet修改变量名称。
rename old_var_name new_var_name在导入的时候直接修改变量名称,同时也是批量(一定要对应)。
不用一条条的修改。
insheet a p w t using data.txt,clear以下是space 键(空格)为分隔符的数据。
直接使用insheet 导入无法识别所有变量,将其视为一个变量。
13.rename14.infile如果非要用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查看数据表内容。
browse导入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 ,不用更改格式。
15.browse16.xmluse精简优化资料的存储结构。
(自动检测变量大小)(自适应)compress可以看到优化结果。
同时browse 可以发现name 变量的宽度变小。
对调数据(转置)。
原始数据是横向的。
insheet using xpose.txt,clear导入数据。
数据是横向的。
press18.xposexpose,clear要附加clear 选项。
设定变量。
tsset data设定时间变量。
如图,使用系统数据,然后设定date 为时间变量。
结果显示:导出数据。
空格为分隔符。
outfile using data_auto, wide replacewide :解除每行80字符的限制,使每个观察值占一行。
19.tsset20.outfile导出部分变量。
outfile make-price foreign using data_auto, wide replace导出数据。
Tab 键为分隔符。
outsheet make-mpg using data_outsheet,replace导出数据。
XML 格式。
21.outsheet22.xmlsavexmlsave data_xmlsave,doctype(excel) replace1. 命名规则:(1)英文字母,数字,下划线组成,长度不超过32。
(2)不能以数字开头。
(3)区分大小写。
(4)尽量不要以_开头(虽然允许)。
2. 查看变量ds [,has(type int)]显示所有变量中类型为int 的。
ds [,not(type byte)]显示所有变量中类型不是byte 的。
ds [,detail]作用同des 。
23.变量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. listlist 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 ,noobsnoobs,不显示结果前面的序号。
方便复制。
list price weight length ,noobs cleanclean,去除边框。
仅显示数据。