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