楼主: wyux
24725 7

[回归分析求助] STATA如何分组求各变量所占比例 [推广有奖]

  • 2关注
  • 0粉丝

已卖:10份资源

大专生

23%

还不是VIP/贵宾

-

威望
0
论坛币
1385 个
通用积分
0.6600
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
612 点
帖子
16
精华
0
在线时间
77 小时
注册时间
2016-11-17
最后登录
2022-6-1

楼主
wyux 发表于 2019-10-29 21:04:29 |AI写论文
10论坛币
微信图片_20191029205823.png
现在有15500份关于居民持有表中每种资产的数据、居民的年龄、每个居民持有金融资产的数量
如何用STATA算出根据年龄分组的每种资产占比
刚学STATA,求指导,感恩!
数据.dta (1.16 MB)

数据.dta
下载链接: https://bbs.pinggu.org/a-2965544.html

4.01 MB

错误数据

最佳答案

songking 查看完整内容

use 数据.dta,clear sort Age recode Age (0/34=1 "=65") (.=5 "missing"),gen(agegroup) bys agegroup:egen fina_all=sum(fina) global varlist "Bond Estate Depo Share Fund Perfin Deriva Metal Exch Cash Borrow Other" foreach var of global varlist{ gen num_`var'=100 if `var'

沙发
songking 发表于 2019-10-29 21:04:30
wyux 发表于 2019-11-2 09:47
我把数据加上了,麻烦您看一下!谢谢
use 数据.dta,clear
sort Age
recode Age (0/34=1 "<35") (35/49=2 "35-50") (50/64=3  "50-65") (65/120=4  ">=65") (.=5  "missing"),gen(agegroup)
bys agegroup:egen fina_all=sum(fina)

global varlist "Bond Estate Depo Share Fund Perfin Deriva Metal Exch Cash Borrow Other"

foreach var of global varlist{
gen num_`var'=100 if `var'<.&`var'>0
replace num_`var'=0 if num_`var'!=100
gen ratio_`var'=`var'/fina_all*100
}

preserve
collapse (mean) num_*,by(agegroup)
foreach var of global varlist{
replace num_`var'=round(num_`var',0.01)
}
tostring num_*,replace force
foreach var of global varlist{
replace num_`var'=num_`var'+"%"
}
export excel using summary.xlsx,first(var) sheet("participant",replace) keepcellfmt
restore

preserve
collapse (sum) ratio_*,by(agegroup)
foreach var of global varlist{
replace ratio_`var'=round(ratio_`var',0.01)
}
tostring ratio_*,replace force
foreach var of global varlist{
replace ratio_`var'=ratio_`var'+"%"
}
export excel using summary.xlsx,first(var) sheet("ratio",replace) keepcellfmt
restore
shellout summary.xlsx

藤椅
songking 发表于 2019-10-29 21:25:16
请给出具体数据,用dataex上传部分数据

板凳
wyux 发表于 2019-11-2 09:47:48 来自手机
songking 发表于 2019-10-29 21:25
请给出具体数据,用dataex上传部分数据
我把数据加上了,麻烦您看一下!谢谢

报纸
wyux 发表于 2019-11-5 14:07:58
songking 发表于 2019-10-29 21:04
use 数据.dta,clear
sort Age
recode Age (0/34=1 "=65") (.=5  "missing"),gen(agegroup)
感谢!!但我在stata里运行了一下有个问题:option keepcellfmt not allowed,想问一下原因。

地板
songking 发表于 2019-11-6 21:59:18
wyux 发表于 2019-11-5 14:07
感谢!!但我在stata里运行了一下有个问题:option keepcellfmt not allowed,想问一下原因。
help export excel;看你的版本是否允许

7
Tiana1995 发表于 2020-8-14 21:35:27
可能是版本原因,我把keepcellfmt删掉就可以正常导出了

8
vkj 发表于 2022-3-25 15:11:04
您好,表四怎么用stata做出

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2026-1-16 17:35