r - 如何使用 qqplotr::stat_qq_point 在 QQ 图中为点着色并提供数字键?
问题描述
我正在使用qqplotr::stat_qq_point()
它是 ggplot2 的“附加组件”来显示分位数 - 分位数图。我想通过分组因子为点着色,并提供一个数字键。我还想包括一个 95% CI 带和拟合线。完成这些任务的一种连贯方法是使用ggplot2
, stat_qq_band
(CI from qqplotr
), stat_qq_line
(best fit line in both ggplot2
and qqplotr
) 和stat_qq_point
(plot qq points from qqplotr
)。但是,我无法弄清楚如何呈现数字键。
在我的代码(如下)中,省略了 95% CI 和拟合线,因为之后可以轻松添加它们。该代码提供了正确着色的点,但没有图例。
我知道我的代码非常笨拙。如果我理解正确,aes
instat_qq_point
只接受sample
参数而不接受colour
. 这意味着为数据点图提供颜色和图形图例的常规策略不可用。
但是,前面的问答有点“hack”。上一个问题中提出的策略是不使用stat_qq_point
,而是使用基函数分别计算分位数qqnorm
。geom_point
然后可以使用ggplot 函数及其附带的功能来单独着色点并提供数字键。
来自另一个问题的样本数据:
set.seed(1001)
N <- 1000
G <- 10
dd <- data_frame(x=runif(N),
f=factor(sample(1:G,size=N,replace=TRUE)),
y=rnorm(N)+2*x+as.numeric(f))
m1 <- lm(y~x,data=dd)
dda <- cbind(augment(m1),f=dd$f)
用我的方法使用这些数据如下:
gg_color_hue <- function(n) {
hues = seq(15, 375, length = n + 1)
hcl(h = hues, l = 65, c = 100)[1:n]
}
n = length(unique(dda$f))
colores_1 = gg_color_hue(n)
dda$Color <- colores_1[dda$f]
dda$theory_quant=qqnorm(dda$.resid,plot.it=FALSE)$x
dda$sample_quant=qqnorm(dda$.resid,plot.it=FALSE)$y
library(qqplotr)
ggplot() +
stat_qq_point(
data = dda,
mapping = aes(sample = .resid),
colour=dda$Color
) +
scale_colour_manual(
values=unique(dda$Colour),
name ="f",
labels=c(1:10)
) +
guides(
colour = guide_legend(override.aes = list(fill=NA),ncol=2,byrow=TRUE)
) +
labs(x = "Theoretical Quantiles", y = "Sample Quantiles")
并产生以下内容,其中有彩色点但没有数字键:
所以,总而言之,我想要一种使用 ggplot2 及其“附加组件”绘制 qq 图的方法,其中包含按分组着色的点、最佳拟合线、95% CI 和数字键qqplotr
。但也许根本不可能使用qqplotr
.
我认为将我的问题留在 SO 上会很有价值,以防自上一个问题被提出以来的 1.8 年中出现了任何更好的方法。
非常感谢您的帮助!
解决方案
推荐阅读
- wordpress - 自定义 Woocommerce 登录页面
- asp.net - 如何向 System.Web.UI.WebControls.WebControl 添加新的布尔属性?
- c# - 当 autoOpen 为 False 时,JQuery 对话框未从 C# 代码后面打开
- javascript - 调用“getAllItems”函数时,React Native Async Storage 总是返回“undefined”
- django-models - 我未能将我的形状文件上传到 geodjango 数据库出现此错误
- reactjs - 我可以创建 2 个共享状态的组件吗?
- kubernetes - 通过 Prometheus Server 将自定义指标推送到 CloudWatch
- javascript - 加密微妙解密参数未键入“CryptoKey”
- javascript - 如何在非转译包中的 webpack 的相对动态导入中修复错误的模块解析
- python - Django 模板条件未按预期工作