Stata代码自学汇总

您所在的位置:网站首页 stata中statsby命令 Stata代码自学汇总

Stata代码自学汇总

2023-04-11 11:12| 来源: 网络整理| 查看: 265

1.数据的导入方法一:直接根据文件地址直接导入

导入系统自带数据

sysuse dataname e.g. sysuse auto

导入外部excel数据

import excel "C:\Userrs\...(文件地址)\AAAA.xlsx", sheet("sheet1") firstrow clear

导入dta数据

use "C:\...(文件地址)\AAAA.dta",clear

导入csv数据(UTF-8格式)

import delimited C:\...(文件地址)\AAAA.csv, encoding(utf8) clear 方法二:先设置指定工作地址再导入

设置指定工作地址

cd "指定工作地址"

调用工作地址dta文件

use AAAA.dta, clear

调用工作地址excel文件

import excel AAAA.xls ,sheet("sheetname") firstrow clear

调用工作地址csv文件(utf-8格式)

import delimited AAAA.csv,encoding(utf-8) clear2.数据的保存方法一:指定位置保存save "指定文件地址\AAAA.dta",replace方法二:工作地址下保存save AAAA.dta, replace3.数据清理(1)数据的删除(常用命令:drop)

行的删除

drop in n ###删除第n行 drop in 1/n ###删除第1-n行,也就是删除前n行 drop in -n/-1 ###删除第-1行到-n行,也就是删除后n行

列的删除|指定变量的删除

drop varlist ###varlist为指定的变量 drop var1-var7 ###删除var1至var7列的变量值 drop m* ###删除所有m开头的变量

符合条件观测值的删除

drop if exp ###exp为指定的条件,如变量mpg > 10 、mgp < 15 、mpg == .(2)数据的保留(常用命令:keep)

行的保留

keep in n ###保留第n行 keep in 1/n ###保留第1-n行,也就是保留前n行 keep in -n/-1 ###保留第-1行到-n行,也就是保留后n行

列的保留|指定变量的保留

keep varlist ###varlist为指定的变量 keep var1-var7 ###保留var1至var7列的变量值 keep m* ###保留所有m开头的变量

符合条件观测值的删除

keep if exp ###exp为指定的条件,如变量mpg > 10 、mgp < 15 、mpg == .(3)变量的生成(常用命令:gen/egen)

gen的使用

gen x = 1 ###生成新变量x,x的取值均为1 gen x = _n ###生成新变量x,x的取值为1-n,n为观测值的数量 gen x = x1 ^ 2 ###生成新变量x,x的值为变量x1的平方 gen x = sum(x1) ###生成新变量x,x的值为x1列的累计和,区别于egen下的sum()函数

egen的基础使用

egen x = count(x1) ###生成新变量x,x的取值为x1的计数值 egen x = group(x1 x2) ###生成新变量x,x的取值为x1和x2的分组序号 egen x = max(x1) ###生成新变量x,x的取值为x1的最大值 egen x = min(x1) ###生成新变量x,x的取值为x1的最小值 egen x = mean(x1) ###生成新变量x,x的取值为x1的平均值 egen x = median(x1) ###生成新变量x,x的取值为x1的中位数 egen x = sd(x) ###生成新变量x,x的取值为x1的标准差 egen x = pctile(x1),p(50) ###生成新变量x,x的取值为x1的中位数 egen x = pctile(x1),p(25) ###生成新变量x,x的取值为x1的四分位数 egen x = total(x1) ###生成新变量x,x的取值为x1的列总和 egen x = sum(x1) ###生成新变量x,x的取值为x1的列总和

egen的进阶使用

egen x = mean(x1), by(x2) ###生成新变量x,x的取值是根据x2分组后的组内平均值 egen t = group(x1 x2) ###首先生成新变量t,t为变量x1和x2的组别 bysort t: egen x = rank(x3) 通过bysort命令对变量t进行排序,确保每组数据都是按相同顺序排序,然后rank()函数将每个观测值按组内的x3的大小进行排列(4)常见问题

变量的重新编码

gen newvar = 1, if var == 3 ###生成新变量newvar,并使得newvar的值为1,当旧变量var的值为3时 replace newvar = 2, if var == 2 ###使newvar值为2,当旧变量var的值为2时 replace newvar = 3, if var == 1 ###使newvar值为3,当旧变量var值为1时 ###此例实际上就是对变量var就行反向计分4.数据分析(1)循环语句的使用(常用命令:foreach/forvalue)

a. foreach的使用

foreach命令使用于列表循环,foreach的对象可以是宏、变量名和文件名等

******局部宏****** local X "x1 x2 x3 x4" foreach a of local X { reg y `a' } *****全局宏******* global X "x1 x2 x3 x4" foreach a of global X { reg y `a' }

b.forvalue的使用

forvalue的对象必须是数字

forvalues i = 1(1)4 { reg y x`i' }



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3