我想按天的顺序给出一个日期索引。 我的意思是
date day
3/4/2016 1
3/7/2016 2
3/7/2016 2
3/11/2016 3
当我使用下面的代码时,
b$day<-as.Date(b$date,"%m/%d/%y")
levels(b$day) <- 1:length(levels(b$day))
b$day <- as.numeric(b$day)
它计算数据中不均匀的日期。经过一些减法后,我得到的是,
date day
3/4/2016 1
3/7/2016 4
3/7/2016 4
3/11/2016 8
我该如何解决这个问题?
答案 0 :(得分:0)
如果我理解正确,你可以这样做:
b <- data.frame(date=c('3/4/2016','3/7/2016','3/7/2016','3/11/2016'),stringsAsFactors=F);
b;
## date
## 1 3/4/2016
## 2 3/7/2016
## 3 3/7/2016
## 4 3/11/2016
b$day <- as.Date(b$date,'%m/%d/%Y');
b$day <- match(b$day,sort(unique(b$day)));
b;
## date day
## 1 3/4/2016 1
## 2 3/7/2016 2
## 3 3/7/2016 2
## 4 3/11/2016 3