[英]How to convert a numeric value into a Date value
因此,我有一個data.frame,其中包含名為Date.birth的列,但是這些值具有數字格式:
Date.birth
43067
43060
可能是問題格式。 但我需要這樣的日期格式:
Date.birth
11/28/17
11/21/17
實際上以上格式是正確的。 我嘗試了以下命令:
as.Date(levels(data$Date.birth), format="%d.%m.%Y")
但是沒有用 有人有建議嗎?
謝謝。
如果是numeric
值,我們需要指定原點
as.Date(data$Date.birth, origin = "1899-12-30")
例如
as.Date(43067, origin = "1899-12-30")
#[1] "2017-11-28"
轉換為Date
類后,如果需要使用自定義格式,請使用format
format(as.Date(43067, origin = "1899-12-30"), "%m/%d/%y")
#[1] "11/28/17"
如果您的列是因數,請先轉換為數字
as.Date(as.numeric(as.character(data$Date.birth)), origin = "1899-12-30")
如果這是一個Excel數字日期,則janitor
有一個很好的解決方案:
library(janitor)
excel_numeric_to_date(data$Date.birth)
只需使用lubridate
即可完成-
lubridate::as_date(as.numeric(dt$Date.birth),origin="1899-12-30")
[1] "2017-11-28" "2017-11-21"
樣本數據-
dt <- read.table(text="Date.birth
43067
43060",header=T)
嘗試這個
VariableName <- dt %>%
mutate(Date.birth = format(excel_numeric_to_date(as.numeric(Date.birth)),"%m/%d/%y"))
#[1] "11/28/17"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.