Я работаю с датским набором данных о иммигрантах по странам происхождения и возрастной группы. Я преобразовал данные, чтобы я мог видеть лучшие страны происхождения для каждой возрастной группы. Я рисую его с помощью facet_wrap. То, что я хотел бы сделать, состоит в том, что различные возрастные группы происходят из совершенно разных областей, чтобы показать другой набор значений для одной оси в каждом аспекте. Например, те, которые от 0 до 10 лет, поступают из стран x, y и z, в то время как те 10-20 лет происходят из стран q, r, z и т. Д.значения переменных осей в facet_wrap
В моей текущей версии он показывает весь набор значений, в том числе страны, которые не входят в первую десятку. Я хотел бы показать только первую десятку стран происхождения для каждой грани, фактически имеющую разные метки осей для каждый. (И, если возможно, сортировка по максимуму до минимума для каждой грани). Вот то, что я до сих пор:
library(ggplot2)
library(reshape)
###load and inspect data
load(url('http://dl.dropbox.com/u/7446674/dk_census.rda'))
head(dk_census)
###reshape for plotting--keep just a few age groups
dk_census.m <- melt(dk_census[dk_census$Age %in% c('0-9 år', '10-19 år','20-29 år','30-39 år'),c(1,2,4)])
###get top 10 observations for each age group, store in data frame
top10 <- by(dk_census.m[order(dk_census.m$Age,-dk_census.m$value),], dk_census.m$Age, head, n=10)
top10.df<-do.call("rbind", as.list(top10))
top10.df
###plot
ggplot(data=top10.df, aes(x=as.factor(Country), y=value)) +
geom_bar(stat="identity")+
coord_flip() +
facet_wrap(~Age)+
labs(title="Immigrants By Country by Age",x="Country of Origin",y="Population")
На самом деле, я очень доволен этим, даже если они надевают Я действительно думал о проблеме огранки и о том, что это граничит с каким-то другим животным. Но поскольку числовые шкалы могут быть установлены как «свободные», я подумал, что, возможно, это было верно и для категоричных. Контекст gridExtra - хороший Я могу использовать в других контекстах. – ako