egen d_sum = rowtotal(d_*)
时间: 2023-11-24 11:03:20 浏览: 519
这条命令是在统计软件中常见的一种用法,意思是创建一个新的变量d_sum,其取值为所有以d_开头的变量的行之和。这样的命令通常用于对数据进行整合或者简化统计分析的目的。
举个例子,如果我们有一张表格,其中包括d_1、d_2和d_3三个变量,每个变量都有多行数据。那么使用egen d_sum = rowtotal(d_*) 这条命令之后,就会得到一个新的变量d_sum,它的取值为每一行中d_1、d_2和d_3这三个变量对应值的和。
这样做的好处是能够将多个变量的信息综合起来,简化后续的分析过程。同时也能够减少犯错的概率,因为不需要重复地进行相同的计算。
需要注意的是,使用这条命令时要确保所选取的变量以d_开头,并且变量之间不存在缺失值。否则会导致计算结果出现错误。
总的来说,egen d_sum = rowtotal(d_*) 这条命令在数据分析中有一定的应用场景,能够帮助我们更方便地处理数据并进行后续的统计分析。
相关问题
stata中sum books gen books_mean=r(mean) gen boos_min=r(min)
在Stata中,`sum`命令通常用于计算变量的统计摘要信息,如总和、平均值、最小值和最大值等。当你想要对名为"books"的变量求其平均数和最小值,并将结果分别存储到新的生成量表(generated variables)"books_mean"和"boos_min"中,你可以使用以下语法:
```stata
* 计算books的均值并存储到books_mean
egen books_mean = mean(books)
* 计算books的最小值并存储到boos_min
egen boos_min = min(books)
```
这里`egen`是generate estimates的缩写,它是在数据集中创建新变量的快捷方式。`mean`和`min`都是内置的estimation functions,分别用于计算均值和最小值。
如果你已经有数据集并且想一次性完成这两个操作,可以用`generate`命令一行搞定:
```stata
* 同时生成books_mean和boos_min
generate books_mean = mean(books)
generate boos_min = min(books)
```
解释以下stata代码:cap pr drop A pr def A cd "D:\Download" qui{ foreach var of varlist * { label variable `var' "`=`var'[1]'" replace `var' = "" if _n == 1 destring `var' , replace } drop in 1/2 cap rename Reptd Acc cap rename Fendd Acc cap g year = substr(Acc,1,4) cap drop Acc cap order Stkcd year cap destring Stkcd year, force replace } compress end import excel "D:\Download\高管个人资料文件174224075\CG_Director.xlsx", sheet("sheet1") firstrow A drop D duplicates drop destring *, force replace save 年末股价 import excel "D:\Download\分析师预测指标文件174652248\AF_Forecast.xlsx", sheet("sheet1") firstrow clear A save 表1 import excel "D:\Download\分析师预测指标文件174813143\AF_Forecast.xlsx", sheet("sheet1") firstrow clear A save 表2 import excel "D:\Download\分析师预测指标文件174931255\AF_Forecast.xlsx", sheet("sheet1") firstrow clear A save 表3 use 表1, clear append using 表2 表3 keep Stkcd y Feps destring F, force replace bys S y: egen EPS = mean(F) keep S y E order S y duplicates drop xtset S y merge 1:1 S y using 年末股价, nogen keep(1 3) g 权益资本成本 = sqrt((F2.EPS-F.EPS)/EndPrice) su 权 tabstat 权 if y <= 2021, by(y) s(N mean sd min p25 p50 p75 max) c(s) kdensity 权 save 权益资本成本
这段Stata代码的主要功能是进行数据处理和分析。下面是对每个命令的解释:
1. `cap pr drop A`:如果数据集中存在变量A,则删除该变量。
2. `pr def A`:定义一个缺失值标签A。
3. `cd "D:\Download"`:设置当前工作目录为 "D:\Download"。
4. `qui{}`:创建一个匿名的do文件块,使其中的命令不会显示在输出中。
5. `foreach var of varlist * {}`:对数据集中的每个变量执行循环。
6. `label variable `var' "`=`var'[1]'""`:为每个变量添加标签,标签值为该变量的第一个观测值。
7. `replace `var' = "" if _n == 1`:将每个变量的第一个观测值替换为空字符串。
8. `destring `var', replace`:将每个变量转换为数值型。
9. `drop in 1/2`:删除数据集中的第一行和第二行。
10. `cap rename Reptd Acc`:如果数据集中存在变量Reptd,则将其重命名为Acc。
11. `cap rename Fendd Acc`:如果数据集中存在变量Fendd,则将其重命名为Acc。
12. `cap g year = substr(Acc,1,4)`:创建一个新变量year,其值为Acc变量的前4个字符。
13. `cap drop Acc`:删除变量Acc。
14. `cap order Stkcd year`:按照Stkcd和year变量的顺序重新排序数据集。
15. `cap destring Stkcd year, force replace`:将Stkcd和year变量转换为数值型。
16. `compress`:压缩数据集,减少占用空间。
17. `end`:结束匿名的do文件块。
18. `import excel "D:\Download\高管个人资料文件174224075\CG_Director.xlsx", sheet("sheet1") firstrow`:从Excel文件导入数据集,文件路径为 "D:\Download\高管个人资料文件174224075\CG_Director.xlsx",工作表名为"sheet1",从第一行开始导入。
19. `A`:显示数据集的摘要信息。
20. `drop D`:删除变量D。
21. `duplicates drop`:删除数据集中的重复观测。
22. `destring *, force replace`:将所有变量转换为数值型。
23. `save 年末股价`:将当前数据集保存为 "年末股价"。
24. `import excel "D:\Download\分析师预测指标文件174652248\AF_Forecast.xlsx", sheet("sheet1") firstrow clear`:从Excel文件导入数据集,文件路径为 "D:\Download\分析师预测指标文件174652248\AF_Forecast.xlsx",工作表名为"sheet1",从第一行开始导入,并清除当前数据集。
25. `A`:显示数据集的摘要信息。
26. `save 表1`:将当前数据集保存为 "表1"。
27. `import excel "D:\Download\分析师预测指标文件174813143\AF_Forecast.xlsx", sheet("sheet1") firstrow clear`:从Excel文件导入数据集,文件路径为 "D:\Download\分析师预测指标文件174813143\AF_Forecast.xlsx",工作表名为"sheet1",从第一行开始导入,并清除当前数据集。
28. `A`:显示数据集的摘要信息。
29. `save 表2`:将当前数据集保存为 "表2"。
30. `import excel "D:\Download\分析师预测指标文件174931255\AF_Forecast.xlsx", sheet("sheet1") firstrow clear`:从Excel文件导入数据集,文件路径为 "D:\Download\分析师预测指标文件174931255\AF_Forecast.xlsx",工作表名为"sheet1",从第一行开始导入,并清除当前数据集。
31. `A`:显示数据集的摘要信息。
32. `save 表3`:将当前数据集保存为 "表3"。
33. `use 表1, clear`:使用数据集 "表1",并清除当前数据集。
34. `append using 表2 表3`:将数据集 "表2" 和 "表3" 追加到当前数据集。
35. `keep Stkcd y Feps`:保留变量Stkcd、y和Feps。
36. `destring F, force replace`:将变量F转换为数值型。
37. `bys S y: egen EPS = mean(F)`:按照变量S和y进行分组,计算变量F的均值,并创建新变量EPS。
38. `keep S y E`:保留变量S、y和E。
39. `order S y`:按照变量S和y的顺序重新排序数据集。
40. `duplicates drop`:删除数据集中的重复观测。
41. `xtset S y`:将数据集设置为面板数据,以变量S和y作为面板标识符。
42. `merge 1:1 S y using 年末股价, nogen keep(1 3)`:根据变量S和y进行一对一的合并,合并的数据集为"年末股价",不生成新变量,保留原有变量中的第1和第3个。
43. `g 权益资本成本 = sqrt((F2.EPS-F.EPS)/EndPrice)`:计算新变量"权益资本成本",其值为((F2.EPS-F.EPS)/EndPrice)的平方根。
44. `su 权`:对变量"权"进行描述性统计分析。
45. `tabstat 权 if y <= 2021, by(y) s(N mean sd min p25 p50 p75 max) c(s)`:对变量"权"在y<=2021的情况下,按照变量y进行分组,并计算每组的统计量(N、均值、标准差、最小值、25th百分位数、中位数、75th百分位数、最大值),并显示汇总统计结果。
46. `kdensity 权`:对变量"权"进行核密度估计,并绘制核密度图。
47. `save 权益资本成本`:将当前数据集保存为 "权益资本成本"。
希望这些解释对你有帮助!如果你还有其他问题,请随时提问。
阅读全文