Skip to content
Prev 180333 / 398506 Next

Histogram + % of cases for a given criteria

S. Nunes wrote:
Hi Sergio,
A curly one indeed. Try this:

crit_cuts<-function(x,breaks,right=TRUE,crit_var,crit) {
 ncats<-length(breaks)-1
 critcount<-rep(0,ncats)
 for(i in 1:ncats) {
  if(right) inside<-x >= breaks[i] & x < breaks[i+1]
  else inside<-x > breaks[i] & x <= breaks[i+1]
  critcount[i]<-sum(crit_var[inside]==crit)
 }
 return(critcount)
}
x<-rnorm(30)+5
crit<-sample(0:1,30,TRUE)
histinfo<-hist(x)
critcount<-crit_cuts(x,histinfo$breaks,crit_var=crit,crit=1)
segments(histinfo$breaks[1:(length(histinfo$breaks)-1)],
  critcount,histinfo$breaks[-1],critcount,lty=2,col="red")

Jim