我正在尝试从格式为“ mm / dd / yyyy”的一列文本中提取日期。
> head(X$A1)
[1]
2456 Levels: 1/1/2007 1/1/2008 1/1/2009 1/1/2012 1/10/2005 1/10/2006 1/10/2007 ... 9/9/2016
然后我使用as.date提取日期中带小数位的年份。但是,它返回NA ...
> X$dates <- as.Date(X$A1, "%m/%d/%Y")
> head(X$dates)
[1] NA NA NA NA NA NA
如何获取以小数点表示的日期的日期?谢谢!
答案 0 :(得分:1)
您尝试过吗:
X$dates <- as.Date(as.character(X$A1), "%m/%d/%Y")
答案 1 :(得分:0)
我假设您在问如何将日期转换为年份的十进制。
我们可以为此使用lubridate::decimal_date
# Sample data
date <- c("1/1/2007 1/1/2008 1/1/2009 1/1/2012 1/10/2005 1/10/2006 1/10/2007")
date <- unlist(strsplit(date, " "))
date
#[1] "1/1/2007" "1/1/2008" "1/1/2009" "1/1/2012" "1/10/2005" "1/10/2006"
#[7] "1/10/2007"
# Convert to decimal dates
lubridate::decimal_date(as.Date(date, format = "%m/%d/%Y"))
#[1] 2007.000 2008.000 2009.000 2012.000 2005.025 2006.025 2007.025