An embedded and charset-unspecified text was scrubbed... Name: not available URL: <https://stat.ethz.ch/pipermail/r-help/attachments/20120321/10160f57/attachment.pl>
Unable to specify order of a factor
2 messages · Justin Montemarano, Sarah Goslee
Is this what you need?
total.density <-
+ c(8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32)
total.density <- factor(total.density, levels=c(8, 16, 32), ordered=TRUE) str(total.density)
Ord.factor w/ 3 levels "8"<"16"<"32": 1 1 1 1 1 1 1 1 1 1 ...
On Wed, Mar 21, 2012 at 10:26 AM, Justin Montemarano <jmontema at kent.edu> wrote:
Hi all:
I'm attempting to create a faceted plot with ggplot2 and I'm having issues
with a factor's order that is used to define the facet_grid().
The factor (named total.density) has three levels - 8, 16, and 32 - and I
would like them presented in that order. ?Running
order(levels(total.density)) yields the incorrect order of the facet grid -
2 3 1, corresponding with 16, 32, and 8.
I have attempted correcting the order with the following solutions (of
course, not run at once):
#total.density <- relevel(total.density, '8')
? ? ? ?#total.density <- as.numeric(levels(total.density)[total.density])
? ? ? ?#total.density <- factor(total.density, levels = c('8','16','32'))
? ? ? ?#total.density <- factor(total.density, levels =
levels(total.density)[c(3,1,2)])
? ? ? ?#library(gregmisc)
? ? ? ?#total.density <- reorder.factor(total.density, c('8', '16', '32'),
order = T)
The data are as follows:
total.density <-
c(8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32)
I'm running R 2.14.2 with all packages up-to-date as of 21.3.2012.
Any help would be greatly appreciated.
-
Sarah Goslee http://www.functionaldiversity.org