【发布时间】:2016-06-08 22:13:38
【问题描述】:
我试图在 R 的列联表中突出显示每一列的最大值。
到目前为止我尝试了什么
tbl <- as.matrix(table(c(iris[5], data.frame(Petal.Width = cut(iris$Petal.Width, 3)))))
pos <- cbind(apply(tbl, 2, which.max), 1:dim(tbl)[2])
tbl <- addmargins(tbl)
# First attempt
tbl2 <- tbl
tbl2[pos] <- -tbl2[pos]
tbl2
## Petal.Width
## Species (0.0976,0.9] (0.9,1.7] (1.7,2.5] Sum
## setosa -50 0 0 50
## versicolor 0 -49 1 50
## virginica 0 5 -45 50
## Sum 50 54 46 150
# Second attempt
tbl2 <- tbl
tbl[pos] <- paste("*", tbl[pos])
print(tbl, justify = "right")
## Petal.Width
## Species (0.0976,0.9] (0.9,1.7] (1.7,2.5] Sum
## setosa * 50 0 0 50
## versicolor 0 * 49 1 50
## virginica 0 5 * 45 50
## Sum 50 54 46 150
如果我能找到将"-" 更改为"* " 但保留数字数据类型的可能性,第一次尝试会奏效。
如果我能找到将值(现在是字符串)与列名右对齐的可能性,第二次尝试将起作用。
我的问题
您能否给我一个解决方案来使这些尝试中的至少一个起作用 - 或者一个完全不同的解决方案,我可以使用它突出列联表中每一列的最大值?
谢谢
【问题讨论】:
标签: r printing highlight highlighting contingency