在R

时间:2015-12-11 22:12:15

标签: r date

我拥有的数据集包含日期列表date1和date2,格式为yyyymmdd

require(date) date1: 1960-01-02, 1962-09-30, ... date2: 1960-01-15, 1962-09-01,...

我想找到相隔天数,例如,从date1的第一个日期到date2的第一个日期有13天。 我已经尝试了as.numeric(as.date(date1,orgin="1960-01-01")),但我收到错误消息“无法强制转换为日期格式”

有人可以帮助我吗?

1 个答案:

答案 0 :(得分:1)

这正是Hadley Wickham的lubridate图书馆所擅长的。

#install.packages('lubridate')
library(lubridate)
date1 <- c('1960-01-02', '1962-09-30')
date2 <- c('1960-01-15', '1962-09-01')

# "ymd" = "year|month|day"
d1 <- ymd(date1)
d2 <- ymd(date2)

然后我们可以通过减去矢量来计算间隔。

> d2-d1
Time differences in days
[1]  13 -29