使用 corrplot

问题描述

我有一个数据集,我试图从中可视化 ETH(种族编码为 0 或 1)和 SEX(性别编码为 0 或 1)的列联表。

这是我的数据集的样子:

enter image description here

这是我在 R 中的编码:

library(readxl)

library(corrplot)

#Dataset

Datavisit1<- read_excel("~/Downloads/Datavisit1.xlsx")

View(Datavisit1)

#Contingency Table

ethsextable<- table(Datavisit1$ETH,Datavisit1$SEX,dnn = c("ETH","SEX"))

ethsextable

ethsextablechi<- chisq.test(ethsextable)

ethsextablechi

corrplot(ethsextablechi$residuals,is.corr = FALSE)

这是我看到的情节:

enter image description here

  1. 如何将 ETH 和 SEX 的标签添加到这个残差的 corrplot 中?现在我很困惑哪个是ETH,哪个是SEX。

  2. 如何将具有 Pearson 残差数的图例稍微向右放置?目前数字在颜色条上方,很难看到。

  3. 2x2 或 2x3 列联表的卡方残差的可视化是通过 corrplots 还是通过马赛克图更好?哪种视觉表现方式更标准?

谢谢!

解决方法

我在一个包中有一个函数,它是我为 CRAN 上的一个类编写的,名为 uwo4419,其中有一个函数可以绘制卡方检验的标准化残差。

set.seed(1240)
dat <- data.frame(
  x = sample(1:2,100,prob=c(.75,.25),replace=TRUE),y = sample(1:3,prob=c(.2,.4,.2),replace=TRUE)
)

tab <- table(dat)
uwo4419::plotStdRes(tab)

enter image description here

这似乎可以回答您的所有问题。我觉得热图是可视化标准化残差的好方法。