R软件如何绘制马赛克图?

 时间:2026-02-14 06:21:08

1、查看数据,以R自带的数据集HairEyeColor为例。

ftable(HairEyeColor),表示把分类数据按列联表的形式显示。

从数据中可以看到该数据集有三个分类变量,即:Hair、Eye、Sex。

R软件如何绘制马赛克图?

2、利用mosaicplot绘制图形。

mosaicplot的主要公式为:

mosaicplot(x, main,color = NULL, shade = FALSE, margin = NULL,...)

或mosaicplot(formula, data = NULL,...)。

本例代码:

mosaicplot(~Hair+Eye+Sex,data=HairEyeColor,shade=TRUE,color=TRUE)

R软件如何绘制马赛克图?

3、同样,利用vcd包中的函数mosaic绘制马赛克图。添加选项shade = TRUE将根据拟合模型的皮尔逊残差值对图形上色。添加选项legend = TRUE将展示残差的图例。

代码如下:

library(vcd)

mosaic(HairEyeColor,shade=TRUE,legend=TRUE,color=TRUE)

R软件如何绘制马赛克图?

4、结果表明:在各变量相互独立的情况下,有更多蓝眼睛的金发女性,而棕色眼睛的金发女性很少。

对应的模型如下:

fm <- loglin(HairEyeColor, list(1, 2, 3))

pchisq(fm$pearson, fm$df, lower.tail = FALSE)

从P值可以看到,独立检验结果是显著的。

R软件如何绘制马赛克图?

5、检验性别与头发和眼睛颜色联合作用的独立性。结果表明:男性在棕色头发和眼睛的人群中很少,在棕色头发和蓝色眼睛的人群中占了过多的比例。

fm <- loglin(HairEyeColor, list(1:2, 3))

pchisq(fm$pearson, fm$df, lower.tail = FALSE)

R软件如何绘制马赛克图?

6、也可以自己编写程序完成的mosaic图。以数据mtcars为例,可以做卡方检验。

myChisqTest <- function(x) {

 t1 <- table(mtcars[,x], mtcars$carb)

 plot(t1, main=x, las=1)

 print(x)

 print(chisq.test(t1))

 }

myChisqTest("gear") 

运行程序,可以得到检验结果。

R软件如何绘制马赛克图?

R软件如何绘制马赛克图?

  • 外汇交易之技术面分析
  • spyder怎么把背景变为白色
  • 统计不重复的实验结果和它们出现频率的方法
  • 如何导出文献的题录
  • 某研究部门准备抽取2000个职工家庭推断该城市所有职工家庭的年均收入。现指出参数和统计量。
  • 热门搜索
    韭菜的功效与作用 滑石粉的功效与作用 溪黄草的功效与作用 维生素b族的作用 打台湾电话前面加什么 鸡冠花的功效与作用 什么是中产阶级 院感知识培训 致800米运动员加油稿 修身养性什么意思