微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何标记给定 ggplot 对象中数据点的 y 值?

如何解决如何标记给定 ggplot 对象中数据点的 y 值?

我正在尝试在给定 ggplot 对象中注释数据点的 y 值,事后。

为了提供可重现的示例,我将使用 mtcarslm() 数据上创建模型,并使用 sjplot::plot_model() 绘图。

library(magrittr)
library(sjplot)

given_p_object <- 
  mtcars %>% 
  lm(mpg ~ as.factor(gear),data = .) %>% 
  sjplot::plot_model(.,type = "pred")

所以我的问题从这里开始:假设我得到了对象 given_p_object。我执行它并得到情节:

> given_p_object

given_plot

是否可以在图上标记每个点的 y 值,无需参考原始数据和导致图的过程(从而忽略 mtcars %>% lm() %>% sjplot::plot_model()) ?换句话说,我如何从当前 given_p_object提取执行以下操作所需的信息?

demo

解决方法

这些值可以在:

given_p_object$gear$data$predicted
#[1] 16.1 24.5 21.4

一般的解决方案是:

get_predicted_value <- function(p) p[[1]]$data$predicted
get_predicted_value(given_p_object)
#[1] 16.1 24.5 21.4

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。