楼主: xiuzhijun
35777 13

[一般统计问题] 求助,有关stata的年龄分段统计 [推广有奖]

  • 0关注
  • 1粉丝

初中生

19%

还不是VIP/贵宾

-

威望
0
论坛币
10 个
通用积分
1.0004
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
65 点
帖子
8
精华
0
在线时间
11 小时
注册时间
2015-2-4
最后登录
2015-4-13

楼主
xiuzhijun 发表于 2015-2-4 22:04:29 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
我现在有很多人的年龄数据,年龄在20到80岁之间,现在想将年龄以十岁为一个年龄段进行统计,20-30岁有多少人,31-40岁有多少人,等等,后续只需要用tab命令即可,但分段不会弄,之前自己想了一个笨办法,20-30岁用数字1表示,以此类推,用replace var1=1 if var1==20,replace var1=1 if var1==21,这样一个命令一个命令的替换,请问下有没有更便捷的办法,将所有的年龄数据快速分段,谢谢了。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:Stata tata replace place VaR 统计

回帖推荐

SpencerMeng 发表于8楼  查看完整内容

可以用recode gen agenew=recode(age,35,40,45,50,55,60,65)类似这样的 age后面的数字是每个组别的取值上线,所以满足了你任性的随便分组。

沙发
SpencerMeng 在职认证  发表于 2015-2-4 22:11:57
试试autocode命令吧

gen agenew=autocode(age,6,20,80)

其中6是要生成的组别数,而函数autocode则是指自动分成6组且各组间隔相等。
已有 1 人评分经验 论坛币 学术水平 热心指数 信用等级 收起 理由
hustchen2012 + 10 + 10 + 1 + 1 + 1 热心帮助其他会员

总评分: 经验 + 10  论坛币 + 10  学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

藤椅
xiuzhijun 发表于 2015-2-4 22:30:36
SpencerMeng 发表于 2015-2-4 22:11
试试autocode命令吧

gen agenew=autocode(age,6,20,80)
非常感谢你!试了一下很方便!
麻烦再请教下,如果不是平均分段,比如20-35岁,36-40岁,这种,怎么处理?

板凳
625928915 学生认证  发表于 2015-2-5 09:32:52
gen age_n  = inrange(age, 30,40)

报纸
xiuzhijun 发表于 2015-2-5 12:01:18
625928915 发表于 2015-2-5 09:32
gen age_n  = inrange(age, 30,40)
抱歉,我试了很多次都没成功,能不能麻烦解释下这个命令,谢谢了。

地板
xiuzhijun 发表于 2015-2-5 12:01:25
625928915 发表于 2015-2-5 09:32
gen age_n  = inrange(age, 30,40)
抱歉,我试了很多次都没成功,能不能麻烦解释下这个命令,谢谢了。

7
625928915 学生认证  发表于 2015-2-5 19:45:08
如果年龄在30到40岁之间,age_n取1,否则取0

8
SpencerMeng 在职认证  发表于 2015-2-5 21:37:31
xiuzhijun 发表于 2015-2-4 22:30
非常感谢你!试了一下很方便!
麻烦再请教下,如果不是平均分段,比如20-35岁,36-40岁,这种,怎么处理 ...
可以用recode

gen agenew=recode(age,35,40,45,50,55,60,65)类似这样的

age后面的数字是每个组别的取值上线,所以满足了你任性的随便分组。

9
xiuzhijun 发表于 2015-2-5 22:17:19
SpencerMeng 发表于 2015-2-5 21:37
可以用recode

gen agenew=recode(age,35,40,45,50,55,60,65)类似这样的
太感谢了!!!!完全符合我的想法!!
我还想请教一个问题,再麻烦您一次。
涉及到统计选项,用tab命令即可。但是选项里有很多是多项,比如ACDE这种,用tab命令就会将ACDE这种也作为单独的数据统计,我最后只想要A,B,C,D,E单独的统计结果,不需要ACDE,BDE这些数据的结果,请问有什么方法实现。
之前想的笨办法是把ACDE这种数据拆分开单独的A,C,D,E,再使用tab进行统计,但工作量实在太大。。。向您请教

10
xiuzhijun 发表于 2015-2-5 22:17:52
625928915 发表于 2015-2-5 19:45
如果年龄在30到40岁之间,age_n取1,否则取0
非常感谢!!问题已经解决!感谢!

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

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2025-12-28 20:18