A worthy challenge, Rolf: egdat <- c(137,135,144,149,150,152,159,157,154,163,164,164, 161,162,165,164,179,173,173,182,180,185,180,197,190) egcut<-cut(egdat,breaks=seq(120,210,by=10),right=FALSE) eglist<-vector("list",9) for(egindex in 1:9) eglist[[egindex]]<-rev(egdat[as.numeric(egcut)==egindex]) egdf<-as.data.frame(lapply(eglist,function(x) x[1:8])) names(egdf)<-paste("V",1:9,sep="") waffle.mat<-as.matrix(sapply(egdf,rev))
Jim On Fri, Jan 6, 2017 at 9:21 AM, Rolf Turner <r.tur...@auckland.ac.nz> wrote: > On 06/01/17 10:31, Jim Lemon wrote: >> >> Hi Dan, >> This may help if your data is in the format below: >> >> waffle.mat<-matrix(c(rep(NA,14),137,135,rep(NA,6),144,149, >> rep(NA,3),150,152,159,157,154, >> NA,163,164,164,161,162,165,164,rep(NA,5),179,173,173, >> rep(NA,4),182,180,185,180, >> rep(NA,6),197,190,rep(NA,8)),ncol=9) >> waffle.col<-matrix("lightblue",ncol=9,nrow=8) >> waffle.col[is.na(waffle.mat)]<-NA >> waffle.border<-matrix("blue",ncol=9,nrow=8) >> waffle.border[is.na(waffle.mat)]<-NA >> library(plotrix) >> # use a waffle plot >> color2D.matplot(waffle.mat,cellcolors=waffle.col,border=waffle.border, >> show.values=TRUE,xat=10,yat=10,xlab="",ylab="") >> axis(1,at=1:8,labels=seq(130,200,by=10)) >> axis(2,at=1:8) >> axis.break(1) > > > Being picky-picky-picky I would like to point out that Duncan's and David's > functions don't *quite* reproduce the picture in the pdf file > that the OP attached, when called with the data from that picture: > > egdat <- c(137,135,144,149,150,152,159,157,154,163,164,164, > 161,162,165,164,179,173,173,182,180,185,180,197,190) > myhist(egdat) > boxhist(egdat) > > It's a matter of including the left or right endpoints in the bins. > > Duncan's function needs to swap "<" and "<=" in the definition of "keep" > (and make a corresponding adjustment in the "|" clause, so as to look at > the last rather than the first break value). > > David's function needs to set "right=FALSE" in the call to cut(). > > Jim's waffle plot gets it right, at the expense of needing to have the > data organised in an inconvenient form. > > All that being said, all of you blokes came up with solutions that are far > beyond my capability of producing. Hat's off to you. > > cheers, > > Rolf > > -- > Technical Editor ANZJS > Department of Statistics > University of Auckland > Phone: +64-9-373-7599 ext. 88276 ______________________________________________ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see 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.