### code to neatly arrange data in blocks, in this case blocks of five ### uses is.whole to test for whole number multiples of five ### uses ifelse is.whole<-function(a) a%%1==0 # is.whole<-function(a) round(a)==a Xenarcha<-"000000010000001011101111000000000?01?100001000?0?0100" Colastes<-"000000010000011001101011000000000?01?110101000?0?0100" Gnamptodon<-"000000010000001001001001001000111?01?0?0001?00?0?0101" wasps<-rbind(Xenarcha,Colastes,Gnamptodon) newwasps<-wasps # make a copy of wasps under a different name, not necessary but helps keep track if errors occur for(i in 1:length(newwasps)){ newdata<-NULL for(j in 1:nchar(wasps[i])){ ifelse(is.whole(j/5),newdata<-paste(newdata,substr(newwasps[i],j,j)," ",collapse="",sep=""),newdata<-paste(newdata,substr(wasps[i],j,j),collapse="",sep="")) } newwasps[i]<-newdata} newwasps