如何在R中转换1970年之前的日期?

如何在R中转换1970年之前的日期?,r,lubridate,R,Lubridate,以下是我的数据框中的一列,该列采用字符格式 DateOfBirth 1: 4/4/1967 12:00:00 AM 2: 4/4/1967 12:00:00 AM 3: 11/1/2001 12:00:00 AM 我使用以下代码将其转换为日期格式,以便在稍后阶段计算年龄 library(lubridate) df$dob<-format(as.Date(df$DateOfBirth,format="%m/%d/%Y %H:%M:%S"),format="%

以下是我的数据框中的一列,该列采用字符格式

             DateOfBirth
1:  4/4/1967 12:00:00 AM
2:  4/4/1967 12:00:00 AM
3: 11/1/2001 12:00:00 AM
我使用以下代码将其转换为日期格式,以便在稍后阶段计算年龄

library(lubridate)

df$dob<-format(as.Date(df$DateOfBirth,format="%m/%d/%Y %H:%M:%S"),format="%m-%d-%y")
df$dob<-mdy(df$dob)
如何纠正前两个观察结果,使
dob
1967-04-04
而不是
2067-04-04

您可以使用解析此内容的软件包,而不需要格式:

代码
df
您可以使用解析此文件的软件包,而不需要格式:

代码
df

您可以指定
原点。虽然
as.Date(“4/4/1967 12:00:00 AM”,format=“%m/%d/%Y%H:%m:%S”)#[1]“1967-04-04”
as.Date(mdy\u hms(“4/4/1967 12:00 AM”)
当您执行
format=“%m-%d-%Y”
时,您将进入两位数的年份。改为
format=“%m-%d-%Y”
以保留4位数的年份。但你做的转换比需要的要多。我们@d.b.的答案是更直接的路线。@Flick先生:你是说@d.e?;-)<代码>财富::财富(112)
因此我理解…您可以指定
来源
。虽然
as.Date(“4/4/1967 12:00:00 AM”,format=“%m/%d/%Y%H:%m:%S”)#[1]“1967-04-04”
as.Date(mdy\u hms(“4/4/1967 12:00 AM”)
当您执行
format=“%m-%d-%Y”
时,您将进入两位数的年份。改为
format=“%m-%d-%Y”
以保留4位数的年份。但你做的转换比需要的要多。我们@d.b.的答案是更直接的路线。@Flick先生:你是说@d.e?;-)<代码>财富::财富(112)所以我理解。。。
             DateOfBirth        dob
1:  4/4/1967 12:00:00 AM 2067-04-04
2:  4/4/1967 12:00:00 AM 2067-04-04
3: 11/1/2001 12:00:00 AM 2001-11-01