2016-04-02 6 views
0

Ich möchte einen Index in der Reihenfolge der Tage angeben. Was ich meine istWie ordne ich einem Datum einen Index in der Reihenfolge der Tage zu?

date  day 
3/4/2016 1 
3/7/2016 2 
3/7/2016 2 
3/11/2016 3 

Wenn ich den Code unten verwenden,

b$day<-as.Date(b$date,"%m/%d/%y") 
levels(b$day) <- 1:length(levels(b$day)) 
b$day <- as.numeric(b$day) 

es die Daten zählt, die nicht einmal in den Daten sind. Nach einiger Subtraktion, was ich bekomme ist,

date  day 
3/4/2016 1 
3/7/2016 4 
3/7/2016 4 
3/11/2016 8 

Wie behebe ich das?

Antwort

0

Wenn ich richtig verstehe, können Sie dies tun:

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 
Verwandte Themen