微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用gather时如何更改facet的顺序?

如何解决使用gather时如何更改facet的顺序?

如何在使用函数 gather 时手动更改刻面的顺序?网格中的数字不是按照我在 myvars 中定义的顺序显示的。

代码如下:

myvars <- c("1","2","3","4","5","6","7","8","9","10","11","12","13","14")
DataVars<- Data[myvars]

DataVars%>%
  gather(-1,key = "var",value = "value") %>% 
  ggplot(aes(x = value,y = 1)) +
  facet_wrap(~ var,scales = "free") +
  geom_jitter(size = 0.5,shape = 16,aes(colour = var),width = 0.5,height = 0.5) +
  geom_smooth(method="lm",size = 1,color = "black",level=0.95)

提前致谢!

解决方法

要在管道中使用已接受的分析器 Fixing the order of facets in ggplot,您需要 mutate 动词:

DataVars%>%
  gather(-1,key = "var",value = "value") %>% 
  mutate(var = factor(var,levels = ...) %>% 
  ggplot(aes(x = value,y = 1)) +
  facet_wrap(~ var,scales = "free") +
  geom_jitter(size = 0.5,shape = 16,aes(colour = var),width = 0.5,height = 0.5) +
  geom_smooth(method="lm",size = 1,color = "black",level=0.95)

在上面的示例中,将 ... 替换为包含所需方面标签顺序的向量。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。