在马赛克图中重新装箱

时间:2017-06-19 18:21:47

标签: r mosaic-plot

在拼接图中,我如何重新标记这些垃圾箱?

dat <- data.frame(letters = sample(LETTERS[1:3], 15, replace = TRUE),
                  numbers = sample(3, 15, replace = TRUE))
mosaicplot(table(dat))

也就是说,如何更改&#34; A&#34;,&#34; B&#34;和&#34; C&#34;在下面的情节中,例如,&#34;狗&#34;,&#34;牛&#34;和&#34;鸡&#34;?

enter image description here

2 个答案:

答案 0 :(得分:3)

一种方法是重命名表格dims ...

dat <- data.frame(letters = sample(LETTERS[1:3], 15, replace = TRUE),
                  numbers = sample(3, 15, replace = TRUE))

tab1 <- table(dat)
dimnames(tab1)[[1]] <- c("dogs","cows","chicken")
## note that dimnames(tab1)$letters <- c("dogs","cows","chicken") will work equally well

mosaicplot(tab1)

答案 1 :(得分:1)

作为@MattTyers解决方案的补充,以及关于是否可以一次性完成所有事情的后续问题:您可以使用formula方法mosaicplot()并使用factor()在公式中,将新labels分配给因子的levels。请注意,您需要明确设置xlabylab,以便不要使用factor(..., labels = ...)等标签。

mosaicplot(~ factor(letters, labels = c("Aah", "Bee", "Cea")) +
  factor(numbers, labels = c("one", "two", "three")),
  data = dat, xlab = "Letters", ylab = "Numbers")