3

我正在使用 ggplot2 和 ggmics 来生成趋势线。

library(ggplot2)
library(ggpmisc)
library(scales)

x <- c(5,2,6,8,9,1,3,6,8,2)
y <- c(4,7,2,5,7,9,5,2,1,3)
df <- data.frame(x,y)

g <- ggplot(df,aes(x,y))
g <- g + geom_point(colour = "black")
g <- g + stat_smooth(method = lm, formula = y ~ x, se = FALSE)
g <- g + stat_poly_eq(formula = y ~ x,
                      aes(label = paste(stat(eq.label),stat(rr.label),stat(adj.rr.label),stat(p.value.label),sep = "~~~")),
                      label.x = "right",label.y = "bottom",parse = TRUE)

gg <- g + coord_trans(y = "identity")
gg <- g + coord_trans(y = "log")
gg <- g + scale_y_log10(breaks=10^(0:3),
                          labels=trans_format("log10",math_format(10^.x)))

1

  • 对于g,标签是y = 6.26 - 0.351x
  • 对于gg,它是y = 0.782 - 0.0419x

当我使用指数符号时,值会eq.label发生变化。我认为不eq.label应该改变,因为我只是改变轴比例。你能告诉我为什么吗?

4

1 回答 1

3

在我看来,要了解的主要内容是以下链接中提供的信息:

  • 变换尺度和变换坐标系的区别在于尺度变换发生在统计之前,坐标变换发生在之后。坐标变换也会改变几何图形的形状:
  1. 如果变换(比例)在统计之前,则对变换后的数据执行平方和误差的减小。如果关系与变量的对数呈线性关系,则可以。

  2. 如果您转换坐标,这会发生变化,因为这里的统计数据是在转换之后执行的。例如,对未转换的数据执行减少平方和的误差。

见这里:https ://ggplot2.tidyverse.org/reference/coord_trans.html

于 2021-12-05T07:01:40.963 回答