2016-04-02 44 views
0

我想按日期順序給出一個索引。 我的意思是如何按日期順序爲日期分配索引?

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

如果我理解正確的話,你可以這樣做:

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