Q-Q Plot按两组拆分方法:R语言犯罪数据正态性检验代码实现
R语言按分组筛选绘制Q-Q图的实现方案
- 假设你的数据集存储为数据框
df,Total_Crime为犯罪数字段,符合你需求的筛选绘制代码如下:
# 筛选犯罪数大于500的子集,计算平方根后绘制Q-Q图 qqnorm(sqrt(df$Total_Crime[df$Total_Crime > 500])) # 为该子集匹配正态参考线 qqline(sqrt(df$Total_Crime[df$Total_Crime > 500]))
- 如果你需要在同一张图中同时展示两组的分布趋势,方便对比差异,可以用分色方案实现,参考代码如下:
# 绘制全量数据Q-Q图,灰色显示 qqnorm(sqrt(df$Total_Crime), col = "gray", pch = 16, main = "分组Q-Q图(平方根转换后犯罪数)") # 全量数据正态参考线 qqline(sqrt(df$Total_Crime), col = "black") # 叠加绘制犯罪数>500的子集,红色突出显示 points(qqnorm(sqrt(df$Total_Crime[df$Total_Crime > 500]), plot.it = FALSE), col = "red", pch = 16) # 新增图例标识分组 legend("topleft", legend = c("犯罪数≤500", "犯罪数>500", "正态参考线"), col = c("gray", "red", "black"), pch = c(16, 16, NA), lty = c(NA, NA, 1))
特殊情况说明:如果
Total_Crime是独立的数值向量而非数据框字段,直接删除代码中的df$前缀,筛选逻辑调整为Total_Crime[Total_Crime > 500]即可正常运行。
内容的提问来源于stack exchange,提问作者Sibangi Bhowmick
相关产品推荐
相关产品推荐

