1.如何删除某几行的数据
drop if year2==2014 | year2==2013
2.如何计算连续几年的标准差
*year2为int型
bys stkcd (year2):gen roa1=adjroa[_n-1] bys stkcd (year2):gen roa2=adjroa[_n-2] bys stkcd (year2):gen roa3=adjroa[_n+1] bys stkcd (year2):gen roa4=adjroa[_n+2] egen roasd=rowsd(roa1 roa2 adjroa roa3 roa4)
3.如何实现excel与stata的数据导入导出?
复制粘贴就行啦~
4.如何打开csv格式文件?
insheet using "路径+文件名",clear
5.如何实现分组并求平均值?
*bysort year group按照年份和行业来分组计算,mean为求平均值,meanroa为新的变量名,egen为生成一列新的变量
bysort year group:
egen meanroa=mean(roa)
6.如何对数据进行分组编号?
egen new_id = group(industry)
7.变量重新命名
ren f050201b ROA
8.缩尾处理
*winsor命令是用第1%的数据去替换前1%的数据,用第99%的数据去替换后1%的数据
. winsor roa, gen(newroa) p(0.01)
. winsor2 roa, cuts(1 99) by(group)
*winsor2相比于winsor命令的改进:
(1) 可以批量处理多个变量;
(2) 不仅可以 winsor,也可以 trimming;
(3) 附加了 by() 选项,可以分组 winsor 或 trimming;
(4) 增加了 replace 选项,可以不必生成新变量,直接替换原变量。
范例:
*- winsor at (p1 p99), get new variable "wage_w"
. sysuse nlsw88, clear
. winsor2 wage
*- left-trimming at 2th percentile
. winsor2 wage, cuts(2 100) trim
*- winsor variables by (industry south), overwrite the old variables
. winsor2 wage hours, replace by(industry south)
9.安装某个命令
. findit winsor2
10.分组比较两个正态总体样本的均值
. ttest roasd, by (vc) unequal
尤其注意by后面那个括号啊....被坑死(哭
11.分组比较两个样本的方差
. sdtest roasd, by (vc)
12.取某一行中的最大值最小值
egen roasd_max=rmax(roasd1 roasd2 roasd roasd3 roasd4)
13.Wilcoxon秩和检验
ranksum 观察值变量,by(分组变量)