作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
为模拟样本指定出生日期;以下有效,但忽略了闰年。
想知道是否有更精确(和优雅)的 r 方法?
# Simulate 10 persons with age evenly distributed 0 to 21
age <- runif(10, 0, 21)
# calc age in seconds
agesecs <- age*365*24*60*60
# subtract from right now to establish 'birthdate'
bday <- as.Date(Sys.time() - agesecs)
bday
[1] "2008-03-28" "1998-06-12" "2010-05-02" "2007-01-11" "2007-06-07"
[6] "1999-05-22" "2004-01-29" "2013-03-29" "1998-06-01" "2006-10-14"
最佳答案
difftime 对象
在日期和时间运算方面做得很好。问题是它识别的单位不包括年份。因此,我没有按年进行随机化,而是使用周,一个 difftime 接受的单位。
# Simulate 10 persons with age evenly distributed 0 to 21 (use weeks)
agewks <- runif(10, 0, (21*52))
# convert to difftime object
agedt <- as.difftime(agewks, units="weeks")
# above could be combined into single step
# agewks <- as.difftime(runif(10, 0, (21*52)), units='weeks')
# subtract from right now to establish a 'birthdate' for our simulated persons
bday <- as.POSIXct(Sys.time() - agedt)
bday
[1] "1997-05-26 13:23:07 EDT" "2003-02-24 13:07:48 EST"
[3] "2006-12-20 12:38:04 EST" "2002-01-02 15:17:14 EST"
[5] "1993-10-07 15:49:19 EDT" "2001-05-04 04:05:29 EDT"
[7] "2003-09-28 09:35:30 EDT" "1996-05-17 20:58:15 EDT"
[9] "2008-08-09 14:17:24 EDT" "2011-05-09 23:26:04 EDT"
# to create a date object use
bday <- as.Date(Sys.time() - agedt)
感谢 Carl 和其他人指导我完成上述工作。欢迎替代和更好的方法。
关于r - 根据 r 中的年龄确定出生日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18424679/
抱歉我的英语不好......我尝试使用 Google Apps 脚本 - 通讯录服务读取通讯录中的信息。 姓名、电子邮件、地址、电话没有问题,但我无法读取日期(我想获取联系人的出生日期)。如何读取“日
我有一个包含字段生日(DATE) 的用户表。 目前,我像这样选择生日在当前日期之前或之后 7 天内的用户: SELECT * FROM users WHERE DATE_FORMAT(birt
我是一名优秀的程序员,十分优秀!