0

我从 Titanic 数据集创建了 structable 并使用了镶嵌函数。一切都很好,但是我还想在马赛克图中标记每个盒子,并根据他们的等级,生存和性别来标记泰坦尼克号乘客的数量。事实证明,我无法做到这一点。我知道我需要使用 labeling_cells 来实现这一点,但是我无法结合 stuctable 和以下代码使用它(并且我无法找到任何示例)。

library("vcd")
struct <- structable(~ Class + Survived + Sex, data = Titanic)
mosaic(struct, data = Titanic, shade = TRUE, direction = "v")
4

2 回答 2

1

如果我正确理解了您的问题,那么最后一个示例?labeling_cells与您想要做的非常接近。使用您的示例,如果视口树不是ped ,则labeling_cells()可以在之后添加。pop唯一有点尴尬的方面是struct对象必须再次成为常规表格才能进行标记。我不得不问主要作者大卫,这是否可以自动处理。

mosaic(struct, shade = TRUE, direction = "v", pop = FALSE)
labeling_cells(text = as.table(struct), margin = 0)(as.table(struct))

马赛克标记细胞

于 2017-06-13T20:47:55.000 回答
1

在 vcd 1.4-4 的上游修复,但请注意,您可以简单地使用

mosaic(struct, labeling = labeling_values)
于 2017-06-14T22:36:17.563 回答