在R中 - 间距何时重要?

时间:2018-01-22 21:05:12

标签: r ggplot2

间隔何时重要?

c(3, 5)c(3,5)

没有什么不同

以下两个例子。请关注values = c("(-Inf,17]"...部分。当我在Inf,17和19之间放置空格时,这一部分的间距会产生截然不同的结果。 R做什么?间距消除值后面必须有一个逻辑,我只能这样做。弄清楚。试试下面的两个例子,注意不同的结果。

library(ggplot2)
ggplot(mtcars, aes(wt, mpg)) + 
    geom_point(aes(colour = cut(qsec, c(-Inf, 17, 19, Inf))),
               size = 5) +
    scale_color_manual(name = "qsec",
                       values = c("(-Inf,17]" = "black",
                                  "(17,19]" = "yellow",
                                  "(19, Inf]" = "red"),
                       labels = c("<= 17", "17 < qsec <= 19", "> 19"))

VS

library(ggplot2)
ggplot(mtcars, aes(wt, mpg)) + 
    geom_point(aes(colour = cut(qsec, c(-Inf, 17, 19, Inf))),
               size = 5) +
    scale_color_manual(name = "qsec",
                       values = c("(-Inf, 17]" = "black",
                                  "(17,19]" = "yellow",
                                  "(19, Inf]" = "red"),
                       labels = c("<= 17", "17 < qsec <= 19", "> 19"))

1 个答案:

答案 0 :(得分:4)

图表不同的原因是因为这些值是定义的级别的名称:

> cut(mtcars$qsec, c(-Inf, 17, 19, Inf)) -> my_factor
> levels(my_factor)
[1] "(-Inf,17]" "(17,19]"   "(19, Inf]"

所以色标中的值需要匹配,否则R会怎么知道?

例如,如果您有两个级别"(-Inf,17]""(-Inf, 17]"怎么办?如果R忽略了空间,那么R如何知道你所指的是哪个因素?