如何在R中绘制Q-Q图?

时间:2018-04-20 12:39:56

标签: r

任务:从拟合的正态分布中生成三组100个观测值,并绘制每个数据集的Q-Q图,而不使用qqplot或qqnorm。

到目前为止,我有:

y = c(194, 209, 205, 180, 196, 178, 214, 199, 224, 230)
mu = (1/10)*sum(y)
v = sd(y)
x=rnorm(10,mu,v)
hist(x,breaks=20)
curve(dnorm(x,mu,v),add=TRUE,col="red")

1 个答案:

答案 0 :(得分:1)

所以我假设您的问题是如何在不依赖qqplotqqnorm的情况下绘制分位数 - 分位数(QQ)图。我进一步假设你想要将你观察到的分位数与正态分布的理论分位数进行比较。

您可以执行以下操作:

# Set fixed seed for reproducibility
set.seed(2017);

# Generate random numbers
y <- c(194, 209, 205, 180, 196, 178, 214, 199, 224, 230);
mu <- (1 / 10) * sum(y);
v <- sd(y);
x <- rnorm(10, mu, v);

# Sort x values
x <- sort(x);

# Theoretical distribution
x0 <- qnorm(ppoints(10), mu, v);

# Plot quantile-quantile plot
plot(x = x0, y = x, xlab = "Theoretical quantiles", ylab = "Observed quantiles")

enter image description here