[R] calculate weeks for 2005 and aggregate them

Eik Vettorazzi E.Vettorazzi at uke.uni-hamburg.de
Tue Apr 7 22:56:19 CEST 2009


sorry, typo
> (diff.w<-(as.numeric(dates-st.date)+1)%/%7)
should have been

(diff.w<-as.numeric(dates-st.date)%/%7)


> Marco Helbich schrieb:
>> Hello Eik,
>>
>> sorry that I contact you again, but I have still a problem with my 
>> dates. I need a numeric starting point begining at 01-08-2005 
>> (DDMMYYYY) for every case as a seperate column. E.g:
>>
>> date                day
>> 01-08-2005      1
>> 01-08-2005      1
>> 02-08-2005      2
>> 20-08-2005    20
>>
>> Thank you for help and bear with me - I am a newbie!
>> Best regards
>> Marco
>>
>> ----- Original Message ----- From: "Eik Vettorazzi" 
>> <E.Vettorazzi at uke.uni-hamburg.de>
>> To: "Marco Helbich" <marco.helbich at gmx.at>
>> Cc: <r-help at r-project.org>
>> Sent: Tuesday, April 07, 2009 4:24 PM
>> Subject: Re: [R] calculate weeks for 2005 and aggregate them
>>
>>
>>> Hi Marco,
>>> try
>>> date <- c("20-08-2005", "27-08-2005", "19-08-2005", "29-08-2005", 
>>> "01-08-2005", "01-08-2005",
>>> "25-08-2005", "15-08-2005", "11-08-2005", "12-08-2005", 
>>> "18-08-2005", "02-08-2005",
>>> "04-08-2005", "15-08-2005", "17-08-2005", "24-08-2005", 
>>> "15-08-2005", "30-08-2005",
>>> "30-08-2005", "02-08-2005", "05-08-2005", "04-08-2005", 
>>> "22-08-2005", "11-08-2005",
>>> "25-08-2005", "29-08-2005", "07-08-2005", "04-08-2005", 
>>> "08-08-2005", "08-08-2005")
>>> # your given crime-"factor" had only 3 entries
>>> hcrime <- 
>>> factor(sample(1:3,length(date),replace=T),labels=c("Aggravated 
>>> Assault", "Burglary", "Robbery"))
>>>
>>> #depending on your starting day of a week you could also use "%U% 
>>> instead of "%W", see ?strftime
>>> week<-as.factor(format(as.Date(date,"%d-%m-%Y"),"%W"))
>>>
>>> #step 2 and 3
>>> table(week,hcrime)
>>>
>>> but you should explain why 27-08-2005 will lead to week=99?!
>>>
>>> hth.
>>>
>>>
>>> Marco Helbich schrieb:
>>>> Dear list,
>>>>
>>>> here is an example of my dataset:
>>>>
>>>> date <- c("20-08-2005", "27-08-2005", "19-08-2005", "29-08-2005", 
>>>> "01-08-2005", "01-08-2005",
>>>>  "25-08-2005", "15-08-2005", "11-08-2005", "12-08-2005", 
>>>> "18-08-2005", "02-08-2005",
>>>>  "04-08-2005", "15-08-2005", "17-08-2005", "24-08-2005", 
>>>> "15-08-2005", "30-08-2005",
>>>>  "30-08-2005", "02-08-2005", "05-08-2005", "04-08-2005", 
>>>> "22-08-2005", "11-08-2005",
>>>>  "25-08-2005", "29-08-2005", "07-08-2005", "04-08-2005", 
>>>> "08-08-2005", "08-08-2005")
>>>> hcrime <- factor(c("Aggravated Assault", "Burglary", "Robbery"))
>>>> data <- cbind(date, hcrime)
>>>>
>>>> I have following questions:
>>>> a) how can I find out the weeks of every date
>>>> b) aggregate the dates falling in the same week
>>>> c) sum up the different crimes per week
>>>>
>>>> for better understanding here is an example for a) and b):
>>>> date                    week
>>>> 27-08-2005            99
>>>> 27-08-2005            99
>>>> 29-08-2005            99
>>>>
>>>> and here one for c):
>>>>
>>>> week    crimes_Robbery    crimes_Robbery
>>>> 98                2                            1
>>>> 99                3                            0
>>>>
>>>> thank you very much for your help!
>>>> best regards
>>>> Marco
>>>>
>>>> ______________________________________________
>>>> R-help at r-project.org mailing list
>>>> https://stat.ethz.ch/mailman/listinfo/r-help
>>>> PLEASE do read the posting guide 
>>>> http://www.R-project.org/posting-guide.html
>>>> and provide commented, minimal, self-contained, reproducible code.
>>>
>>> -- 
>>> Eik Vettorazzi
>>> Institut für Medizinische Biometrie und Epidemiologie
>>> Universitätsklinikum Hamburg-Eppendorf
>>>
>>> Martinistr. 52
>>> 20246 Hamburg
>>>
>>> T ++49/40/42803-8243
>>> F ++49/40/42803-7790
>>>
>
>




More information about the R-help mailing list