【问题标题】:Relabel the bins in a mosaic plot重新标记马赛克图中的 bin
【发布时间】:2017-06-19 18:21:46
【问题描述】:

在马赛克图中,如何重新标记箱?

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

也就是说,如何将下图中的“A”、“B”和“C”更改为“狗”、“牛”和“鸡”?

【问题讨论】:

    标签: r mosaic-plot


    【解决方案1】:

    一种方法是重命名表格 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)
    

    【讨论】:

    • 谢谢。有没有办法在不创建额外对象的情况下做到这一点?也就是说,标签是否可以作为参数添加到table() 或mosaicplot()?
    【解决方案2】:

    作为@MattTyers 解决方案的补充,以及是否可以一次性完成所有问题的后续问题:您可以使用mosaicplot() 的formula 方法并在公式中使用factor() 来分配新的labels 到因子的levels。请注意,您需要明确设置xlab 和ylab,以免出现factor(..., labels = ...) 这样的标签。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-11-21
      • 2016-01-05
      • 2021-01-09
      • 2011-10-10
      • 1970-01-01
      • 2023-01-20
      • 1970-01-01
      相关资源
      最近更新 更多