[英]How to mark the y-values of data points in a given ggplot object?
事后,我试图在给定的 ggplot object 中注释数据点的 y 值。
为了有一个可重现的示例,我将使用lm()
在mtcars
数据上创建 model ,并使用sjPlot::plot_model()
。
library(magrittr)
library(sjPlot)
given_p_object <-
mtcars %>%
lm(mpg ~ as.factor(gear), data = .) %>%
sjPlot::plot_model(., type = "pred")
所以我的问题从这里开始:假设我得到了 object given_p_object
。 我执行它并得到 plot:
> given_p_object
是否可以在 plot 上标记每个点的 y 值,而不参考原始数据和导致 plot 的过程(因此忽略mtcars %>% lm() %>% sjPlot::plot_model()
)? 换句话说,如何从当前的given_p_object
中提取执行以下操作所需的信息?
这些值可以在以下位置找到:
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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.