0

我试图在一个简单的 2x2 列联表中绘制百分比,vcd::mosaic但我不断收到Viewport错误消息。以下是如何重现(我在 Ubunto 20.04 和 R 3.6.3 上工作):

t0 <- as.table(rbind( c(221,47), c(17,9)  ))
names(dimnames(t0)) = c("X", "C")
rownames(t0)        = c("neg", "pos")
colnames(t0)        = c("neg", "pos")
library(vcd)
labs <- round(prop.table(t0, 1), 2)
mosaic(t(t0), split = TRUE, shade = TRUE, pop = FALSE )
labeling_cells(text = labs, margin = 0)(t0)

我得到了最后一个命令: labeling_cells(text = labs, margin = 0)(t0)

grid.Call.graphics 中的错误(C_downviewport,name$name,strict):未找到视口“单元格:X=neg,C=neg”

有人知道为什么吗?

4

1 回答 1

0

您使用 可视化了转置表t(t0)mosaic()但随后尝试labeling_cells()为原始表添加t0。由于这两个表不匹配,因此标签无法找到它期望的视口。也可以简单地t(t0)用于标签:

mosaic(t(t0), split = TRUE, shade = TRUE, pop = FALSE)
labeling_cells(text = labs, margin = 0)(t(t0))

马赛克

于 2021-03-31T00:47:08.950 回答