I have sorted out how to do this - by much trial an error (a comment from Deepayan in a post some years ago pointed which way to go, though it took a lot of searching to find even where to start with it:
I've bound the two sets of data together, making the relevant part an ordered factor. It's probably not the nicest way to do it, but it works. hits<-cbind(hits,chromosomes$name[hits$Chromosome]) names(hits)[5]<-'name' hits$name<-factor(hits$name,ordered(chromosomes$name[1:dim(chromosomes)[1]])) xyplot(weighted~bin|name,data=hits) On Fri, 2009-11-20 at 12:16 +1030, Dan Kortschak wrote: > > chromosomes > id refseq name length > 1 0 NC_000001.9 Homo sapiens chromosome 1 247249719 > 2 1 NC_000002.10 Homo sapiens chromosome 2 242951149 > 3 2 NC_000003.10 Homo sapiens chromosome 3 199501827 > 4 3 NC_000004.10 Homo sapiens chromosome 4 191273063 > 5 4 NC_000005.8 Homo sapiens chromosome 5 180857866 > 6 5 NC_000006.10 Homo sapiens chromosome 6 170899992 > 7 6 NC_000007.12 Homo sapiens chromosome 7 158821424 > 8 7 NC_000008.9 Homo sapiens chromosome 8 146274826 > 9 8 NC_000009.10 Homo sapiens chromosome 9 140273252 > 10 9 NC_000010.9 Homo sapiens chromosome 10 135374737 > 11 10 NC_000011.8 Homo sapiens chromosome 11 134452384 > 12 11 NC_000012.10 Homo sapiens chromosome 12 132349534 > 13 12 NC_000013.9 Homo sapiens chromosome 13 114142980 > 14 13 NC_000014.7 Homo sapiens chromosome 14 106368585 > 15 14 NC_000015.8 Homo sapiens chromosome 15 100338915 > 16 15 NC_000016.8 Homo sapiens chromosome 16 88827254 > 17 16 NC_000017.9 Homo sapiens chromosome 17 78774742 > 18 17 NC_000018.8 Homo sapiens chromosome 18 76117153 > 19 18 NC_000019.8 Homo sapiens chromosome 19 63811651 > 20 19 NC_000020.9 Homo sapiens chromosome 20 62435964 > 21 20 NC_000021.7 Homo sapiens chromosome 21 46944323 > 22 21 NC_000022.9 Homo sapiens chromosome 22 49691432 > 23 22 NC_001807.4 Homo sapiens mitochondrion 16571 > 24 23 NC_000023.9 Homo sapiens chromosome X 154913754 > 25 24 NC_000024.8 Homo sapiens chromosome Y 57772954 > > xyplot(hits~bin|chromosomes$name[Chromosome+1],data=hits,horizontal=FALSE,origin=0,lab=c(3,10),pch=20,cex=0.01,layout=c(1,5,5),strip=strip.custom(style=3,bg="grey90",par.strip.text=list(cex=0.5)),as.table=TRUE) > > > I am wondering how to reorder the panels such that they are plotted in > the order of chromosomes$id rather than chromosomes$name. I am sure that > this has been answered in the past, but I am finding it difficult to > understand (I have looked at factor and reorder.factor). > > (I've had a look at strip.custom to see if I can get what I want with > that, and it looks like I should be able to, but I can't figure out > how). > > thanks > Dan ______________________________________________ R-help@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.