Understood. Will review the docs again. My data is from an external source which, among other things, ensures that it's sorted correctly. I was asking for a way to have ggplot use the ordering in place, instead of re-ordering everything. Apologies if it wasn't clear from the original post.
Anyway, if the data is correctly presorted, unique should work ok, I think. On Aug 15, 2018, 9:23 AM, at 9:23 AM, Bert Gunter <bgunter.4...@gmail.com> wrote: >1. Unless there is good reason to keep a reply private, always cc the >list. >This allows more brains, possible corrections, etc. > >2. Have you read ?factor and ?unique ? Always study the docs carefully. >They are generally terse but complete, especially the base docs, and >you >can often find your answers there. > >3. Your "solution" may work in this case, but if I understand correctly >what you're after, won't in general. unique() gives the unique values >in >the order they appear, which may not be the order you want: > >## want ordering to be "a" < "b" < "c" > >> f <- rep(letters[3:1],2) > >> factor(f, levels = unique(f)) >[1] c b a c b a >Levels: c b a ## not your desired order > >Again, please consult the docs and perhaps a tutorial or two as >necessary. > >-- Bert > > > >On Wed, Aug 15, 2018 at 8:22 AM, Stats Student ><stats.student4...@gmail.com> >wrote: > >> Many thanks, Bert. >> >> I did - >> >> facet_wrap(~factor(var, levels=unique (var)) >> >> And it seems to be working fine. >> Do you see any issues with this? >> >> I'm fairly new to R so want to make sure I'm not doing something >stupid. >> >> Thanks again. >> >> On Wed, Aug 15, 2018, 7:50 AM Bert Gunter <bgunter.4...@gmail.com> >wrote: >> >>> See ?factor. >>> >>> You can either use ?ordered to create an ordered factor to sort the >>> levels as you desire or sort them with factor(). e.g. >>> >>> > f <- factor(letters[3:1]) >>> > f >>> [1] c b a >>> Levels: a b c ## default ordering >>> >>> > f <- factor(f, levels = letters[3:1]) >>> > f >>> [1] c b a >>> Levels: c b a ## explicit ordering >>> >>> Cheers, >>> Bert >>> >>> >>> >>> Bert Gunter >>> >>> "The trouble with having an open mind is that people keep coming >along >>> and sticking things into it." >>> -- Opus (aka Berkeley Breathed in his "Bloom County" comic strip ) >>> >>> On Wed, Aug 15, 2018 at 7:21 AM, Stats Student < >>> stats.student4...@gmail.com> wrote: >>> >>>> Hi, I am generating multiple charts with facet_wrap() and what what >I >>>> see, R/ggplot sorts the panels by the facet variable. So adding an >index to >>>> the facet variable (1 - bucket, 2 - bucket, etc) does solve the >sorting >>>> issue but it's ugly. >>>> >>>> I also read this post which, if I understand correctly, claims that >>>> ggplot should be using the initial ordering of the data for >ordering the >>>> charts (instead of ordering the data itself). >>>> >>>> https://mvuorre.github.io/post/2016/order-ggplot-panel-plots/ >>>> >>>> Wondering if anyone knows how to direct ggplot use the initial >sorting >>>> of the data to order the panels. >>>> >>>> Thank you. >>>> >>>> ______________________________________________ >>>> 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. >>>> >>> >>> ______________________________________________ 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.