目录
按类别求均值,然后创建一个新的变量
缩尾处理
日期处理
连续变量处理成虚拟变量
按条件删除数据
按类别求均值,然后创建一个新的变量
bysort year industry: egen meanvariable=mean(variable)
//year industry :分组的类别
//meanvariable :新变量的名称
//variable :均值变量
//如表所示的样例
bysort category: egen mean_variable=mean(variable)
variable |
category |
mean_variable |
10 |
1 |
10.5 |
11 |
1 |
10.5 |
22 |
2 |
22 |
31 |
3 |
32 |
32 |
3 |
32 |
33 |
3 |
32 |
缩尾处理
处理常见的异常值
winsor wage, gen(wage_w) p(0.025)
//默认为双尾处理
//wage :需处理的变量
//wage_w : 处理后的新变量
//0.025:处理的百分位,即98.5%以上取%98.5%位置的值,2.5%以下取2.5%位置的值
//通常情况下,对所有连续变量做上下1%的缩尾(winsor)处理
winsor wage, gen(wage_wh) p(0.025) lowonly //左侧缩尾
winsor wage, gen(wage_wh) p(0.025) highonly //右侧缩尾
histogram wage_wh, ylabel(, angle(0)) xtitle("wage_wh") //可以作图显示结果
日期处理
提取日期中的年份
//日期为日期格式
gen year = year(日期)
//日期为字符串格式
gen year = substr(日期, 1, 4)
destring year, replace force //字符转换成数值
连续变量处理成虚拟变量
gen dummy_variable = 0
replace dummy_variable = 1 if continuous_variable > 1
//dummy_variable:新生成的虚拟变量
//continuous_variable: 处理的连续变量
变量重新命名
ren var1 var123 // 把var1重新命名为var123
按条件删除数据
drop if category == 16
//删除类别为16的数据
多个判断条件
replace modresp=1 if (modality==1 & response==1)
常用函数
abs(x) 绝对值
exp(x) 指数函数
log(x) 自然对数
log10(x) 常用对数
sqrt(x) 平方根
uniform(x) 生成(0,1)内均匀分布的伪随机数
length(x) 计算长度
substr(s,n1,n2) 获得从S的n1个字符开始的n2个字符组成的字符串
real(x) 将字符串s转换为数值函数
trim(x) 去除字符串前面和后面的空格
int(x) 去掉x的小数部分,得到整数
sum(X) 求和
max(x) min(x) 最大值最小值
_n 当前观察值的位置
_N 观察值的总个数
结果输出
esttab m1 m2 m3 using Table1-satisfaction.rtf, title(Table1) mtitle(control main moderating) ///
drop(*industry_id *Year) b(3) star(* 0.1 ** 0.05 *** 0.01) ///
se pr2 aic bic scalar(N industry year ll ll_0) ///
append nogaps compress nobase
b(3):系数为三位小数
se: 报告标准误
pr2: 伪R方
ll: likelihood