如何解决在 R 中用 QQ 线包裹 Q-Q 情节方面
如何生成 qqnorm 的 facet wrap,显示某些数据的 qqlines?
This question 生成 qqplot,但没有在图上绘制真正的 qqline(只有数据的平滑 lm)。代码是从链接的问题中复制的。
library(plyr)
# create some data
set.seed(123)
df1 <- data.frame(vals = rnorm(1000,10),y = sample(LETTERS[1:3],1000,replace = TRUE),z = sample(letters[1:3],replace = TRUE))
# calculate the normal theoretical quantiles per group
df2 <- ddply(.data = df1,.variables = .(y,z),function(dat){
q <- qqnorm(dat$vals,plot = FALSE)
dat$xq <- q$x
dat
}
)
# plot the sample values against the theoretical quantiles
ggplot(data = df2,aes(x = xq,y = vals)) +
geom_point() +
geom_smooth(method = "lm",se = FALSE) +
xlab("Theoretical") +
ylab("Sample") +
facet_grid(y ~ z)
解决方法
我认为没有必要plyr
或自己打电话给qqnorm
。你可以做
ggplot(data = df1,aes(sample=vals)) +
geom_qq() +
geom_qq_line(color="red") +
xlab("Theoretical") +
ylab("Sample") +
facet_grid(y ~ z)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。