所以,我有一个名为 Date.birth 的列的 data.frame,但我有数字格式的这些值:
Date.birth
43067
43060
Run Code Online (Sandbox Code Playgroud)
可能是问题格式。但我需要这样的日期格式:
Date.birth
11/28/17
11/21/17
Run Code Online (Sandbox Code Playgroud)
其实上面的格式是正确的。我试过这个命令:
as.Date(levels(data$Date.birth), format="%d.%m.%Y")
Run Code Online (Sandbox Code Playgroud)
但没有用。有人有建议吗?
谢谢。
如果它是一个numeric值,我们需要指定原点
as.Date(data$Date.birth, origin = "1899-12-30")
Run Code Online (Sandbox Code Playgroud)
例如
as.Date(43067, origin = "1899-12-30")
#[1] "2017-11-28"
Run Code Online (Sandbox Code Playgroud)
转换为Dateclass后,如果需要自定义格式,使用format
format(as.Date(43067, origin = "1899-12-30"), "%m/%d/%y")
#[1] "11/28/17"
Run Code Online (Sandbox Code Playgroud)
如果您的列是因子,请先转换为数字
as.Date(as.numeric(as.character(data$Date.birth)), origin = "1899-12-30")
Run Code Online (Sandbox Code Playgroud)