2013-05-16 17 views
7

R'de plot kullanımı, x eksenindeki faktörlerin alfabetik olarak sıralanmasını sağlar.R eksenindeki bir grafiğe x eksenini nasıl sıralayabilirim?

X eksenindeki faktörlerin sırasını nasıl belirleyebilirim?

Örnek:

y <- 1:9 
x <- c(rep("B", 3), rep("A", 3), rep("C", 3)) 
plot(y ~ as.factor(x)) 

Bu sonuçlanır:

enter image description here

Nasıl bu "B", "A", "C" olarak çizilecek alabilirim?

cevap

9

Sadece faktörünüzün seviyelerini istediğiniz sırada belirtmeniz gerekir. beklendiği gibi

R> x1 
[1] B B B A A A C C C 
Levels: B C A 

plot işlevi artık çalıştığı yere Yani burada ben yeni değişkeni x1

x1 = factor(x, levels=c("B", "C", "A")) 

oluşturun.

plot(y ~ x1) 
+0

Daha tartışma burada: http://stackoverflow.com/questions/11587111/setting-levels-when-creating-a-factor-vs-levels – harkmug

2

Bu, her kutu arsasının% 50 değerine dayanarak bir düzende bunları düzenlemek istediğiniz görünüyor? Örnek olarak farklı bir dataframe çıkarak: Biz bu çizmek, biz etiketler (A A * önce gelir) berbat halde olduğunu görebilirsiniz

temp <- structure(list(
    Grade = c("U","G", "F", "E", "D", "C", "B", "A", "A*"), 
    n = c(20L, 13L, 4L, 13L, 36L, 94L, 28L, 50L, 27L)), 
    .Names = c("Grade", "n"), 
    class = c("tbl_df", "data.frame"), 
    row.names = c(NA, -9L)) 

.

library(ggplot2) 
ggplot(temp) + 
geom_bar(stat="identity", aes(x=Grade, y=n)) 

enter image description here

yukarıda gösterildiği gibi elle sipariş verebilir, ya da biz her notu alma öğrenci sayısının sırayla notları çizmek karar verebilir.

library(dplyr) 
temp <- temp %>% arrange(n) 

Sonra sırasını temsil etmek Grade sütununun içinde düzeylerini değiştirmek: Biz dataframe sipariş

İlk: Bu elle de yapılabilir, ama biz bu otomatikleştirmek eğer daha iyi olurdu yukarıda gösterilen grafik komutunun çalıştırılması veri

temp$Grade <- as.vector(temp$Grade) #get rid of factors 
temp$Grade = factor(temp$Grade,temp$Grade) #add ordered factors back 

size farklı x ekseni sipariş bir ile çizilen verileri vermektedir.

enter image description here

İlgili konular