ggplot kullanarak bir ısı haritası oluşturmak istiyorum, ancak y eksenini gözlem sayısına göre sıralamak istiyorum. Veri çerçevesini N sütununa göre sıralıyorum ve gözlem sayısını eksen etiketinde görünecek şekilde grup adına ekleyin. Verileri çizdiğimde, grup adına göre yeniden sipariş verir. Veri seviyesinde belirttikleri sıraya göre faktör seviyelerini belirlemenin bir yolu var mı? Faktör düzeylerini bir veri çerçevesinde görüntülendikleri sıraya nasıl ayarlayabilirim?
Bazı veriler:library(dplyr)
library(tidyr)
library(ggplot2)
school <- c("School A", "SChool B", "School C", "School D", "School E", "School F")
N <- c(25,28,12,22,30,25)
var1 <- c(1,0,1,1,0,1)
var2 <- c(0,0,0,1,0,1)
var3 <- c(0,1,0,1,1,1)
df <- tbl_df (data.frame (school, N, var1, var2, var3))
df <- arrange (df, N) %>%
gather (variable, value, var1:var3)
df$school <- paste0 (df$school, " (", df$N, ")")
df <- select (df, school, variable, value)
ggplot(df, aes(variable, school)) + geom_tile(aes(fill = value), colour = "white") +
scale_fill_gradient(low = "white",high = "steelblue")
Sonuçta Okulların sırası olmak isteyen:
Okul C (12)
Okul D (22)
Okul A (25)
School F (25)
Okul B (28)
Okul E ben otomatik olarak yapmak için bir yol bulmak ve yeniden ayarlamak faktör seviyelerini her zaman yok istediğiniz birden araziler için bunu yapmak istiyor gibi (30)
. Bu çevrede
Teşekkürler @konvas - mükemmel çalıştı. – Greg