转换R中的日期以进行聚类

时间:2018-05-10 09:44:59

标签: r date cluster-analysis

我有一份跟进日期列表,以下列表格提供:年 - 月 - 日。 为了能够根据这些日期对我的数据进行聚类,我想将日期转换为几小时。这是第一天排队0,第二天24,第三天48等等。

这可能是什么代码?

1 个答案:

答案 0 :(得分:1)

dates<-c('2016-09-01', '2016-09-01', '2016-09-01', '2016-09-02', '2016-09-02', '2016-09-03', '2016-09-03', '2016-09-04', '2016-09-05', '2016-09-05', '2016-09-05', '2016-09-05', '2016-09-06', '2016-09-07')

将上述日期作为字符串,将其转换为Date

dates<-as.Date(dates,format = '%Y-%m-%d')
dates
# [1] "2016-09-01" "2016-09-01" "2016-09-01" "2016-09-02" "2016-09-02" "2016-09-03" "2016-09-03" "2016-09-04" "2016-09-05"
#[10] "2016-09-05" "2016-09-05" "2016-09-05" "2016-09-06" "2016-09-07"

然后,只需从最小/第一个日期中减去:

hrs<-as.numeric(dates-min(dates))*24
hrs
# [1]   0   0   0  24  24  48  48  72  96  96  96  96 120 144

或第一次约会:

hrs<-as.numeric(dates-dates[1])*24
hrs
# [1]   0   0   0  24  24  48  48  72  96  96  96  96 120 144