Stata Intermediate & Monte Carlo Simulation
Chap2&3, Mar 3rd, 2025
Chap2 Stata进阶
1.bysort
, egen
, binscatter
- 数据类型
Storage type | Minimum | Maximum | Closest to 0 without being 0 | bytes |
---|---|---|---|---|
byte | -127 | 100 | +/-1 | 1 |
int | -32,767 | 32,740 | +/-1 | 2 |
long | -2,147,483,647 | 2,147,483,620 | +/-1 | 4 |
float | -1.70141173319*10^38 | 1.70141173319*10^38 | +/-10^-38 | 4 |
double | -8.9884656743*10^307 | 8.9884656743*10^307 | +/-10^-323 | 8 |
- 数据格式转换
format varlist %fmt format %fmt varlist
%9.2f
2.数据类型转换:destring
, tostring
, encode
, decode
, real
- 字符串提取:
gen newvar1 = substr( str1 ,1,3) gen newvar2 = substr( str2 ,-2,.)
- 日期数据处理:
gen date1 = date( date , "YMD")
3.数据拆分与合并:横向拆分与纵向拆分,append
, merge
merge 1:1 varlist using filename
keep if _merge == 3
drop _merge
merge m:1 varlist using filename, nogen
merge 1:m varlist using filename
merge m:m varlist using filename
merge 1:1 _n using filename
4.长宽数据转换:reshape
reshape wide var, i(id) j(year)
reshape long var, i(id) j(year)
5.条件语句
local score = 88
if `score' >= 90{
di "优秀"
}
else if `score' >= 80{
di "良好"
}
else if `score' >= 70{
di "一般"
}
else if `score' >= 60{
di "合格"
}
else{
di "不合格"
}
6.循环语句
while
set obs 1
gen sum = 0
local i = 1
local n = 100
while `i' <= `n' {
qui replace sum = sum + `i'
local i = `i' + 1
}
list
forvalues
set obs 1
gen sum = 0
forvalues i = 1/100 {
qui replace sum = sum + `i'
}
list
foreach in/of
foreach v of varlist d81-d87{
gen `v'educ = educ*(`v')
}
Chap3 一元线性回归及蒙特卡罗模拟
chap3.1_Stata模拟重复抽样.do download
chap3.2_simulate修改.do download
chap3.3_同方差异方差.do download
安慰剂检验:参考
BV13E421w79K
可视化网站: Ordinary Least Squares, PGFplots.net, Stata Graph Gallery, Stata Visual Library
第二章上机练习
//C8
*(i)
clear
set seed 1234
set obs 500
gen x = runiform()*10
sum x
*(ii)
gen u = rnormal(0, 1)*6
sum u
*(iii)
gen y = 1 + 2 * x + u
reg y x
*(iv)
predict uhat, r
egen suh = sum(uhat)
sum suh
egen sxuh = sum(x*uhat)
sum sxuh
*(v)
egen su = sum(u)
sum su
egen sxu = sum(x*u)
sum sxu
*(vi)
clear
set seed 10101
3月15日补充:
Stata:append 命令动图演示
Stata:merge 1:1 动图展示
Stata:merge 1:m 动图演示
Stata:merge m:1 动图演示
Stata:使用 spread 和 gather 进行长宽数据转换动图演示