我试图突出显示 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
如果我能找到将其更改"-"
为"* "
但保留数字数据类型的可能性,那么第一次尝试将起作用。
如果我能找到将值(现在是字符串)与列名右对齐的可能性,则第二次尝试将起作用。
我的问题
你能给我一个解决方案来使这些尝试中的至少一个起作用 - 或者一个完全不同的解决方案,我可以用它来突出列联表中每一列的最大值?
谢谢