Hello R-Helpers, I would like to generate the frequencies of dates (data.RData). str(data) Date[1:43748], format: "2001-01-01" "2001-01-01" "2001-01-01" "2001-01-01" ... test <- hist(data,"days",freq=T)> test$counts[1] 27 17 12 15 6 4 5 13 5 13 15 9 7 10 11 21 10 10 9 11 15 7 10 14 but the count is wrong, because i have only 9 times 01/01/2001 etc.> data[1:30][1] "2001-01-01" "2001-01-01" "2001-01-01" "2001-01-01" "2001-01-01" [6] "2001-01-01" "2001-01-01" "2001-01-01" "2001-01-01" "2001-01-02" [11] "2001-01-02" "2001-01-02" "2001-01-02" "2001-01-02" "2001-01-02" [16] "2001-01-02" "2001-01-02" "2001-01-02" "2001-01-02" "2001-01-02" [21] "2001-01-03" "2001-01-03" "2001-01-03" "2001-01-03" "2001-01-03" [26] "2001-01-03" "2001-01-03" "2001-01-03" "2001-01-03" "2001-01-03" Now, when i give R the breaks.> br <-seq(as.Date("31.12.2000",format="%d.%m.%Y"),as.Date("01.01.2012",format="%d.%m.%Y"),by=1)> test2<- hist(data,br,freq=T) > test2$counts[1:10][1] 12 15 17 12 15 6 4 5 13 5 In this case, neither get the right counts but limiting i get the correct counts:> test3<- hist(data[1:50],br[1:6],freq=T) > test3$counts[1] 9 11 13 9 8 I hope someone can help me with this problem. Thank you very much!! Best regards, Dominic
If all you want is frequencies, could you use table()?
dd <- c("2001-01-02", "2001-01-02",
"2001-01-02", "2001-01-02",
"2001-01-02", "2001-01-02", "2001-01-02",
"2001-01-02", "2001-01-02",
"2001-01-03", "2001-01-03", "2001-01-03",
"2001-01-03", "2001-01-03",
"2001-01-03", "2001-01-03", "2001-01-03",
"2001-01-04", "2001-01-04")
ddd <- as.Date(dd)
str(ddd)
table(ddd)
as.numeric(table(ddd))
--Chris Ryan
SUNY Upstate Medical University
Binghamton, NY USA
On Tue, Jan 15, 2013 at 7:45 AM, Dominic Roye <dominic.roye at gmail.com>
wrote:> Hello R-Helpers,
>
>
> I would like to generate the frequencies of dates (data.RData).
>
> str(data)
> Date[1:43748], format: "2001-01-01" "2001-01-01"
"2001-01-01" "2001-01-01"
> ...
>
>
> test <- hist(data,"days",freq=T)
>> test$counts
> [1] 27 17 12 15 6 4 5 13 5 13 15 9 7 10 11 21 10 10 9 11 15 7 10
> 14
>
>
> but the count is wrong, because i have only 9 times 01/01/2001 etc.
>
>> data[1:30]
> [1] "2001-01-01" "2001-01-01" "2001-01-01"
"2001-01-01" "2001-01-01"
> [6] "2001-01-01" "2001-01-01" "2001-01-01"
"2001-01-01"
>
> "2001-01-02"
> [11] "2001-01-02" "2001-01-02" "2001-01-02"
"2001-01-02" "2001-01-02"
> [16] "2001-01-02" "2001-01-02" "2001-01-02"
"2001-01-02" "2001-01-02"
> [21] "2001-01-03" "2001-01-03" "2001-01-03"
"2001-01-03" "2001-01-03"
> [26] "2001-01-03" "2001-01-03" "2001-01-03"
"2001-01-03" "2001-01-03"
>
>
>
> Now, when i give R the breaks.
>
>> br <-
>
seq(as.Date("31.12.2000",format="%d.%m.%Y"),as.Date("01.01.2012",format="%d.%m.%Y"),by=1)
>> test2<- hist(data,br,freq=T)
>> test2$counts[1:10]
> [1] 12 15 17 12 15 6 4 5 13 5
>
>
> In this case, neither get the right counts but limiting i get the correct
> counts:
>
>> test3<- hist(data[1:50],br[1:6],freq=T)
>> test3$counts
> [1] 9 11 13 9 8
>
>
> I hope someone can help me with this problem.
>
>
> Thank you very much!!
>
> Best regards,
>
> Dominic
>
> ______________________________________________
> 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.
>
You should read the help for hist carefully:
?hist.Date
hist has very specific rules for applying breaks that are often different than
tabulation (tapply or aggregate, with or without using the cut function first).
---------------------------------------------------------------------------
Jeff Newmiller The ..... ..... Go Live...
DCN:<jdnewmil at dcn.davis.ca.us> Basics: ##.#. ##.#. Live
Go...
Live: OO#.. Dead: OO#.. Playing
Research Engineer (Solar/Batteries O.O#. #.O#. with
/Software/Embedded Controllers) .OO#. .OO#. rocks...1k
---------------------------------------------------------------------------
Sent from my phone. Please excuse my brevity.
Dominic Roye <dominic.roye at gmail.com> wrote:
>Hello R-Helpers,
>
>
>I would like to generate the frequencies of dates (data.RData).
>
>str(data)
>Date[1:43748], format: "2001-01-01" "2001-01-01"
"2001-01-01"
>"2001-01-01"
>...
>
>
>test <- hist(data,"days",freq=T)
>> test$counts
>[1] 27 17 12 15 6 4 5 13 5 13 15 9 7 10 11 21 10 10 9 11 15 7
>10
>14
>
>
>but the count is wrong, because i have only 9 times 01/01/2001 etc.
>
>> data[1:30]
> [1] "2001-01-01" "2001-01-01" "2001-01-01"
"2001-01-01" "2001-01-01"
> [6] "2001-01-01" "2001-01-01" "2001-01-01"
"2001-01-01"
>
>"2001-01-02"
>[11] "2001-01-02" "2001-01-02" "2001-01-02"
"2001-01-02" "2001-01-02"
>[16] "2001-01-02" "2001-01-02" "2001-01-02"
"2001-01-02" "2001-01-02"
>[21] "2001-01-03" "2001-01-03" "2001-01-03"
"2001-01-03" "2001-01-03"
>[26] "2001-01-03" "2001-01-03" "2001-01-03"
"2001-01-03" "2001-01-03"
>
>
>
>Now, when i give R the breaks.
>
>> br <-
>seq(as.Date("31.12.2000",format="%d.%m.%Y"),as.Date("01.01.2012",format="%d.%m.%Y"),by=1)
>> test2<- hist(data,br,freq=T)
>> test2$counts[1:10]
> [1] 12 15 17 12 15 6 4 5 13 5
>
>
>In this case, neither get the right counts but limiting i get the
>correct
>counts:
>
>> test3<- hist(data[1:50],br[1:6],freq=T)
>> test3$counts
>[1] 9 11 13 9 8
>
>
>I hope someone can help me with this problem.
>
>
>Thank you very much!!
>
>Best regards,
>
>Dominic
>
>
>------------------------------------------------------------------------
>
>______________________________________________
>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.