0

我有这个列联表:

> ftable(mytable) # print table
                Sex     female male
Pclass Survived                    
1      No             0      5  118
       Si             0    139   61
2      No             0     12  146
       Si             0     94   25
3      No             0    110  418
       Si             0    106   75

然后,我使用R的基本包制作了马赛克图。代码和图形如下:

mosaicplot(mytable, color=c("#fb8072", "#8dd3c7"), cex.axis=1.2)

在此处输入图像描述

现在我想从 x 轴上消除女性和男性的名字,并将这些名字作为图例,以便指定粉红色表示女性,浅蓝色表示男性。我怎样才能做到这一点?

编辑1:

“mytable”的输出是:

mytable <- structure(c(0, 5, 118, 0, 139, 61, 0, 12, 146, 0, 94, 25, 0, 
110, 418, 0, 106, 75), .Dim = c(3L, 2L, 3L), .Dimnames = structure(list(
    Sex = c("", "female", "male"), Survived = c("No", "Si"), 
    Pclass = c("1", "2", "3")), .Names = c("Sex", "Survived", 
"Pclass")), class = c("xtabs", "table"))

编辑2:

在绘制马赛克的代码之前,我必须删除图中的类别名称,并使用以下代码从列联表中删除名称:

dimnames(mytable)[["Sex"]] = rep(NA,3)

现在,唯一没有解决的问题就是添加一个图例。

4

0 回答 0