gpt4 book ai didi

r - ggplot2:向图中添加 p 值

转载 作者:行者123 更新时间:2023-12-04 00:51:48 26 4
gpt4 key购买 nike

我得到了这个情节

enter image description here

使用下面的代码

library(dplyr) 
library(ggplot2)
library(ggpmisc)

df <- diamonds %>%
dplyr::filter(cut%in%c("Fair","Ideal")) %>%
dplyr::filter(clarity%in%c("I1" , "SI2" , "SI1" , "VS2" , "VS1", "VVS2")) %>%
dplyr::mutate(new_price = ifelse(cut == "Fair",
price* 0.5,
price * 1.1))

formula <- y ~ x
ggplot(df, aes(x= new_price, y= carat, color = cut)) +
geom_point(alpha = 0.3) +
facet_wrap(~clarity, scales = "free_y") +
geom_smooth(method = "lm", formula = formula, se = F) +
stat_poly_eq(aes(label = paste(..rr.label..)),
label.x.npc = "right", label.y.npc = 0.15,
formula = formula, parse = TRUE, size = 3)

除了 R2,我还想将 p 值添加到方面。我可以通过先运行回归然后获取 p 值并使用 geom_text() 来手动执行此操作。添加这些 p 值 similar to the answer of this question.

有没有更快或自动化的方法来做到这一点?例如类似于添加 R2 值的方式。

更新

我所说的 p 值是 斜率 p 值 .当 时,趋势被认为具有高度统计显着性。 p < 0.005 .

最佳答案

使用 stat_fit_glance这是 ggpmisc 的一部分R 中的包。这个包是 ggplot2 的扩展所以它很好用。

ggplot(df, aes(x= new_price, y= carat, color = cut)) +
geom_point(alpha = 0.3) +
facet_wrap(~clarity, scales = "free_y") +
geom_smooth(method = "lm", formula = formula, se = F) +
stat_poly_eq(aes(label = paste(..rr.label..)),
label.x.npc = "right", label.y.npc = 0.15,
formula = formula, parse = TRUE, size = 3)+
stat_fit_glance(method = 'lm',
method.args = list(formula = formula),
geom = 'text',
aes(label = paste("P-value = ", signif(..p.value.., digits = 4), sep = "")),
label.x.npc = 'right', label.y.npc = 0.35, size = 3)
stat_fit_glance基本上接受任何通过 lm()在 R 中并允许它使用 ggplot2 进行处理和打印.用户指南包含一些功能的纲要,例如 stat_fit_glance : https://cran.r-project.org/web/packages/ggpmisc/vignettes/user-guide.html .另外我相信这给出了模型 p 值,而不是斜率 p 值(通常),这对于多元线性回归来说是不同的。对于简单的线性回归,它们应该是相同的。

这是情节:

enter image description here

关于r - ggplot2:向图中添加 p 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37536950/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com