嗨我通常使用像下面这样的代码重新排序条ggplot 或其他类型的情节。如何以整洁的方式重新排列因子水平?
普通情节(无序)
library(tidyverse)
iris.tr <-iris %>% group_by(Species) %>% mutate(mSW = mean(Sepal.Width)) %>%
select(mSW,Species) %>%
distinct()
ggplot(iris.tr,aes(x = Species,y = mSW, color = Species)) +
geom_point(stat = "identity")
订购因子+有序情节
iris.tr$Species <- factor(iris.tr$Species,
levels = iris.tr[order(iris.tr$mSW),]$Species,
ordered = TRUE)
ggplot(iris.tr,aes(x = Species,y = mSW, color = Species)) +
geom_point(stat = "identity")
因子行是非常不愉快的给我,我不知道为什么arrange()
或其他一些功能不能简化这一点。我错过了什么?
注:
这不工作,但我想知道,如果这样的事情在tidyverse存在。
iris.tr <-iris %>% group_by(Species) %>% mutate(mSW = mean(Sepal.Width)) %>%
select(mSW,Species) %>%
distinct() %>%
arrange(mSW)
ggplot(iris.tr,aes(x = Species,y = mSW, color = Species)) +
geom_point(stat = "identity")
小心:你不应该在标识符内使用'.',因为它在使用S3 dispatch时有特定的含义(用'_'代替);你不应该在'TRUE'中使用'T',因为它不是一个保留字并且可以重新定义(对于调皮,'T = FALSE')。 –
也许我完全错了,但我认为这是在R中命名标识符的正确方法。我在[Google的R风格指南](https://google.github.io/styleguide/Rguide.xml#identifiers)中看到它。 –
Google的风格指南通常有点废话。别理他们。这里有一个更好的R风格指南:http://style.tidyverse.org/ - 我不同意一些观点(文件名中的大写字母?!)。但它在R中是绝对可接受和广泛使用的。 –