使用R,通过从事件中减去年龄(从年到2秒)来计算出生日期
我有一个数据框,该数据框以年(小数点后2位)为单位给出事件发生日期的每个独特个体的年龄:使用R,通过从事件中减去年龄(从年到2秒)来计算出生日期,r,date,dob,R,Date,Dob,我有一个数据框,该数据框以年(小数点后2位)为单位给出事件发生日期的每个独特个体的年龄: id eventDate ageatEvent 1 10-Jun-90 44.07 2 15-Feb-91 30.45 3 20-Dec-93 59.43
id eventDate ageatEvent
1 10-Jun-90 44.07
2 15-Feb-91 30.45
3 20-Dec-93 59.43
4 13-Nov-93 45.84
5 26-Jul-95 25.94
6 10-Mar-99 21.97
7 20-Jun-05 32.28
8 31-Jan-96 48.82
使用R,我想计算每个人的出生日期(根据数据尽可能精确)。
我尝试过使用lubridate,但不清楚我应该将数字“age”列转换成什么,以便从POSIXct instant eventDate中减去
非常感谢您的帮助。您可以使用
lubridate
软件包来完成这项工作
dmy
使用订单日-月-年将字符转换为日期dyear
将数字转换为以年为单位的持续时间
差异给出了结果
library(tidyverse)
library(lubridate)
df <- tribble(
~id, ~eventDate, ~ageatEvent,
1, "10-Jun-90", 44.07,
2, "15-Feb-91", 30.45,
3, "20-Dec-93", 59.43)
df <- df %>%
mutate(eventDate = dmy(eventDate), ageatEvent = dyears(ageatEvent)) %>%
mutate(dateOfBirth = eventDate - ageatEvent)
库(tidyverse)
图书馆(lubridate)
df%
突变(dateOfBirth=eventDate-AgeAteEvent)
解决这一问题的简单方法是不要将数据存储为事件发生时的年龄。分数年对我来说甚至没有意义,因为每个月的天数不是固定的。你应该告诉我们这个数字是如何推导出来的。