我有一个看起来像这样的数据框
df <- data.frame(id=rep(c(1,5,2,6,4,3), each=5),
group=rep(c(1,2,2,2,1,1), each=5),
var1=runif(30))
我现在想要使用var1
绘制ggplot
,并按id
分区,但是group
(以及id
内的group
对方面进行排序{1}})。我认为我必须使id
成为group
整齐排列的因素,但我无法弄清楚如何优雅地实现这一目标。
答案 0 :(得分:1)
# sort by group and id
df_sorted <- df[with(df, order(group, id)), ]
# reorder factor levels
df_sorted$id <- factor(df_sorted$id, levels=unique(df_sorted$id))
# plot something
ggplot(df_sorted, aes(var1)) + facet_wrap(~id) + geom_density()