我有这个列联表:
> 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)
现在,唯一没有解决的问题就是添加一个图例。