楼主: cherrypie
14211 13

[其他] 请教如何进行年龄的计算 [推广有奖]

  • 0关注
  • 0粉丝

小学生

85%

还不是VIP/贵宾

-

威望
0
论坛币
58 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
102 点
帖子
8
精华
0
在线时间
8 小时
注册时间
2006-3-4
最后登录
2022-6-16

楼主
cherrypie 发表于 2010-1-10 03:03:21 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
样本的出生年月日数据例示如下:

变量名为birth,具体数值为
05 May 29
24 Nov 41
02 Aug 58
29 Apr 63
02 Sep 76
01 Mar 60
18 Nov 68
01 Aug 69
05 Sep 73
22 Feb 74
(等等)

变量“birth”的Format标识为“%dD_m_Y”,请问如何计算每个人的年龄呢?

小女子新手上路,恳请各位不吝相助,谢谢!~
二维码

扫码加我 拉你入群

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

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

关键词:format Birth FORMA 出生年月日 新手上路 出生年月日 新手上路 小女子 如何 样本

回帖推荐

eblog 发表于9楼  查看完整内容

嗯,见7楼

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

用date(x,"DM19Y")也可以省略replace一步。

eblog 发表于7楼  查看完整内容

这样写可能更规范一些: clear all input str2 day str3 month str2 year 05 May 29 24 Nov 41 02 Aug 58 29 Apr 63 02 Sep 76 01 Mar 60 18 Nov 68 01 Aug 69 05 Sep 73 22 Feb 74 end tempvar d b gen `d'=day+month+year gen `b'=date(`d',"DM19Y") gen age=(date(c(current_date),"DMY")-`b')/365.25

eblog 发表于6楼  查看完整内容

楼主的birth的数据格式已经是%dD_m_Y了吧? [/quote] 嗯,如果数据设置正确是可以的

sungmoo 发表于5楼  查看完整内容

楼主的birth的数据格式已经是%dD_m_Y了吧?

eblog 发表于4楼  查看完整内容

这种情况下,直接使用g age=(date(c(current_date),"DMY")-birth)/365.25即可。 [/quote] 没有这一句代码是不行的“replace year="19"+year”

sungmoo 发表于3楼  查看完整内容

这种情况下,直接使用g age=(date(c(current_date),"DMY")-birth)/365.25即可。

eblog 发表于2楼  查看完整内容

计算截止当前日期的年龄: clear all input str2 day str3 month str2 year 05 May 29 24 Nov 41 02 Aug 58 29 Apr 63 02 Sep 76 01 Mar 60 18 Nov 68 01 Aug 69 05 Sep 73 22 Feb 74 end replace year="19"+year tempvar d b gen `d'=day+month+year gen `b'=date(`d',"DMY") gen age=(date(c(current_date),"DMY")-`b')/365.25

本帖被以下文库推荐

沙发
eblog 发表于 2010-1-10 11:20:36
计算截止当前日期的年龄:

clear all
input str2 day str3 month str2 year
05 May 29
24 Nov 41
02 Aug 58
29 Apr 63
02 Sep 76
01 Mar 60
18 Nov 68
01 Aug 69
05 Sep 73
22 Feb 74
end
replace year="19"+year
tempvar d b
gen `d'=day+month+year
gen `b'=date(`d',"DMY")
gen age=(date(c(current_date),"DMY")-`b')/365.25

藤椅
sungmoo 发表于 2010-1-10 16:23:12
cherrypie 发表于 2010-1-10 03:03 变量birth的Format标识为"%dD_m_Y",请问如何计算每个人的年龄呢?
eblog 发表于 2010-1-10 11:20 gen age=(date(c(current_date),"DMY")-`b')/365.25
这种情况下,直接使用g age=(date(c(current_date),"DMY")-birth)/365.25即可。

板凳
eblog 发表于 2010-1-10 16:42:19
sungmoo 发表于 2010-1-10 16:23
cherrypie 发表于 2010-1-10 03:03 变量birth的Format标识为"%dD_m_Y",请问如何计算每个人的年龄呢?
eblog 发表于 2010-1-10 11:20 gen age=(date(c(current_date),"DMY")-`b')/365.25
这种情况下,直接使用g age=(date(c(current_date),"DMY")-birth)/365.25即可。
没有这一句代码是不行的“replace year="19"+year

报纸
sungmoo 发表于 2010-1-10 16:47:30
eblog 发表于 2010-1-10 16:42 没有这一句代码是不行的“replace year="19"+year
楼主的birth的数据格式已经是%dD_m_Y了吧?

地板
eblog 发表于 2010-1-10 16:53:24
sungmoo 发表于 2010-1-10 16:47
eblog 发表于 2010-1-10 16:42 没有这一句代码是不行的“replace year="19"+year
楼主的birth的数据格式已经是%dD_m_Y了吧?
嗯,如果数据设置正确是可以的

7
eblog 发表于 2010-1-10 16:56:23
这样写可能更规范一些:

clear all
input str2 day str3 month str2 year
05 May 29
24 Nov 41
02 Aug 58
29 Apr 63
02 Sep 76
01 Mar 60
18 Nov 68
01 Aug 69
05 Sep 73
22 Feb 74
end
tempvar d b
gen `d'=day+month+year
gen `b'=date(`d',"DM19Y")
gen age=(date(c(current_date),"DMY")-`b')/365.25
已有 1 人评分学术水平 热心指数 收起 理由
weli + 1 + 1 精彩帖子

总评分: 学术水平 + 1  热心指数 + 1   查看全部评分

8
sungmoo 发表于 2010-1-10 16:57:14
用date(x,"DM19Y")也可以省略replace一步。

9
eblog 发表于 2010-1-10 17:08:13
sungmoo 发表于 2010-1-10 16:57
用date(x,"DM19Y")也可以省略replace一步。
嗯,见7楼

10
cherrypie 发表于 2010-1-10 20:48:32
谢谢两位的帮助啊!
我赶紧去do一下~~

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

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