# Residuals
residuals <- c(-1, 0, 1, 3)

# Sort the residuals
sorted_residuals <- sort(residuals)

# Theoretical quantiles from a standard normal distribution
theoretical_quantiles <- qnorm(ppoints(length(residuals)))

# Create QQ plot
plot(theoretical_quantiles, sorted_residuals, pch = 16, main = "QQ Plot of Residuals",
     xlab = "Theoretical Quantiles", ylab = "Sample Quantiles", abline(a = 0, b = 1, col = "red"))

# Add a reference line
abline(a = 0, b = 1, col = "red")

# Add labels for quartiles
text(quantile(theoretical_quantiles, c(0.25, 0.75)), quantile(sorted_residuals, c(0.25, 0.75)), c("Q1", "Q3"), pos = 4)