Меня интересует изменение столбца даты в dataf на упорядоченные числа (самая ранняя дата = 1, вторая самая ранняя = 2 ... и т. Д.), Соответствующие id, как в результатах $ order.Если идентификатор появляется только один раз, я бы хотел, чтобы этот порядок был 1.
date=c("2012-02-18", "2013-03-01", "2013-04-11", "2013-06-06", "2013-09-20", "2013-07-02")
datef=strptime(date, format="%Y-%m-%d")
dataf=data.frame(id=c(20, 20, 20, 21, 21, 22),
date=datef,
service=c("web", "phone", "person", "phone", "web", "web"))
> dataf
id date service
1 20 2012-02-18 web
2 20 2013-03-01 phone
3 20 2013-04-11 person
4 21 2013-06-06 phone
5 21 2013-09-20 web
6 22 2013-07-02 web
Мне трудно даже найти правильную формулировку для поиска ответа на эту дилемму.Я ищу принуждение?или индекс?dataf $ объединяет результаты в $ порядке ниже?
results=data.frame(id=c(20, 20, 20, 21, 21, 22),
order=c(1,2,3,1,2,1),
service=c("web", "phone", "person", "phone", "web", "web"))
> results
id order service
1 20 1 web
2 20 2 phone
3 20 3 person
4 21 1 phone
5 21 2 web
6 22 1 web