【发布时间】:2017-12-22 06:23:03
【问题描述】:
您好,我通常使用如下代码来重新排序 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调度时有特定的含义(改用_);并且你不应该使用T来代替TRUE,因为它不是保留字并且可以重新定义(T = FALSE表示顽皮)。 -
也许我完全错了,但我认为这是在 R 中命名标识符的正确方法。我在Google's R Style Guide看到它
-
Google 的风格指南通常有点垃圾。别理他们。这里有一个更好的 R 风格指南:style.tidyverse.org — 我不同意其中的一些观点(文件名中的大写字母?!什么。该死。)但它在 R 中绝对是可以接受和广泛使用的。
-
好的,看起来很有趣,我去看看!编辑:将 T 更改为 TRUE