stata学习笔记(三):计算五年内的ROA标准差所用到的一些知识

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(分组变量)
原文地址:https://www.cnblogs.com/pursuit1996/p/4716285.html