在R中的卡方QQ图中绘制qqline

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在R中的卡方QQ图中绘制qqline相关的知识,希望对你有一定的参考价值。

我复制以下代码r help。但是,qqline功能不起作用。是什么原因?

library(mgcViz)
y <- rchisq(500, df = 3)
## Q-Q plot for Chi^2 data against true theoretical distribution:
qqplot(qchisq(ppoints(500), df = 3), y, main = expression("Q-Q plot for" ~~ {chi^2}[nu == 3]))
qqline(y, distribution = function(p) qchisq(p, df = 3), prob = c(0.1, 0.6), col = 2)

谢谢!

答案

要使用mgcViz添加qqline,您需要使用ggplot:

library(mgcViz)
y <- rchisq(500, df = 3)
## Q-Q plot for Chi^2 data against true theoretical distribution:
qqplot(qchisq(ppoints(500), df = 3), y, main = expression("Q-Q plot for" ~~ {chi^2}[nu == 3]))

# Add qq line
library(ggplot2)
ggplot2::last_plot() + qqline(y, distribution = function(p) qchisq(p, df = 3), prob = c(0.1, 0.6), col = 2)

qq plot

要查看qqline的截距和斜率,可以执行以下操作:

my.qqline = qqline(y, distribution = function(p) qchisq(p, df = 3), prob = c(0.1, 0.6), col = 2)
> my.qqline$data
   intercept     slope
1 0.08606285 0.9290453

以上是关于在R中的卡方QQ图中绘制qqline的主要内容,如果未能解决你的问题,请参考以下文章

在R中使用QQ线的QQ图面换行

正态性检验之qqplot和ppplot原理及R语言实现

R语言分布的卡方拟合优度检验

F分布

R图中的字体

R语言 | 卡方检验(Chi-squaretest)