stat_poly_eq 中的 R 科学记数法

Posted

技术标签:

【中文标题】stat_poly_eq 中的 R 科学记数法【英文标题】:R scientific notation in stat_poly_eq 【发布时间】:2022-01-15 19:25:18 【问题描述】:

我目前正在 ggplot2 中使用 stat_poly_eq 的代码,想知道是否有办法始终在 xe+1 中获取图表上的值?到目前为止,它只在值非常高或非常低时给我 Xx10^1。我希望它始终以科学记数法表示 stat(eq.label)。

我的代码:

ggplot()+
  stat_poly_eq(aes(label =  paste(stat(eq.label), "*\", \"*", 
                                  stat(rr.label), "*\", \"*",
                                  stat(p.value.label), "*\"\"",
                                  sep = "")),
               formula = my.formula, parse = TRUE, size = 4)+

谢谢!

【问题讨论】:

【参考方案1】:

可能是这样的:

df <- data.frame(x = c(1:100))
df$y <- 20 + 30 * df$x + rnorm(100, sd = 80)

library(ggpmisc)

my_formula <- y ~ x

myformat <- "y = %s + %s x --- R²: %s"
ggplot(df, aes(x, y)) + 
  geom_point() +
  geom_smooth(method = "lm", formula = my_formula, se = FALSE) +
  stat_poly_eq(
    formula = my_formula, output.type = "numeric",
    mapping = aes(
      label = 
        sprintf(
          myformat,
          format(stat(coef.ls)[[1]][[1, "Estimate"]], scientific = TRUE, digits =4),
          format(stat(coef.ls)[[1]][[2, "Estimate"]], scientific = TRUE, digits =4),
          formatC(stat(r.squared)))),
    vstep = 0.1
  ) 

【讨论】:

以上是关于stat_poly_eq 中的 R 科学记数法的主要内容,如果未能解决你的问题,请参考以下文章

用于 ggplot2 的不带科学记数法的 R 标记中的 cut 函数

如何使用 R 正确比较科学计数法中的数字? [复制]

笔记 数据科学中的 R 语言

笔记 数据科学中的 R 语言

笔记 数据科学中的 R 语言

《数据科学中的R语言》中文PDF+源代码