[R] cumulative frequency plots for factors

Dieter Vanderelst dieter_vanderelst at emailengine.org
Tue Oct 16 17:50:08 CEST 2007


Hi, 

Henrique's solution is indeed very elegant. But after a while, I thought I needed more control over individual lines. Therefore, I switched to the more complex method you also suggest.

I want to thank the both of you for the help.

Regards,
Dieter

Jim Lemon wrote:
> Dieter Vanderelst wrote:
>> Dear list,
>>
>> I have a data frame with a number of events (factor) and the times at 
>> which they occurred (continuous variable):
>>
>> event time
>> A 10
>> A 12
>> B 15
>> A 17
>> C 13
>> ...
>>
>> Is it possible in R to make a plot against time of the cumulative 
>> frequency of occurrence of each event? This would be, a raising line 
>> for each factor.
>>
> Hi Dieter,
> Henrique's solution is very elegant, but I thought you might find this 
> one useful as well.
> 
> event_codes<-LETTERS[1:5]
> sploogle<-data.frame(event=sample(event_codes,50,TRUE),
>  time=sample(10:100,50))
> sploogle<-sploogle[order(sploogle$time),]
> sploogle$event_count<-rep(NA,50)
> for(event_code in event_codes)
>  sploogle$event_count[sploogle$event==event_code]<-
>   1:sum(sploogle$event==event_code)
> plot(sploogle$time[sploogle$event==event_codes[1]],
>  sploogle$event_count[sploogle$event==event_codes[1]],
>  main="Cumulative event count by time",xlim=c(1,max(sploogle$time)),
>  ylim=c(1,max(sploogle$event_count)),type="b")
> for(i in 2:5)
>  points(sploogle$time[sploogle$event==event_codes[i]],
>   sploogle$event_count[sploogle$event==event_codes[i]],
>   type="b",col=i,pch=i)
> legend(1,max(sploogle$event_count),event_codes,pch=1:5,col=1:5,lty=1)
> 
> Jim



More information about the R-help mailing list