Я наконец нашел грязное решение
matrix <- as.data.frame(matrix(rexp(200, rate=.01), ncol=4))
Установить цикл
for(i in 1:length(matrix[1,])) {
quant <- quantile(matrix[,i], prob = 0.85, na.rm = TRUE)
for(j in 1:length(matrix[,1])) {
if(as.numeric(matrix[j,i]) > quant) {
matrix[j,i] <- paste("\\cellcolor{red!25}", matrix[j,i], sep="", collapse = NULL)}
else {}
} } # close both loops
Затем выведите результат в латексе
print(xtable(matrix),
type = "latex",
sanitize.text.function = identity)
Это дает приемлемый результат. Важно установить: «количественный <- квантиль» перед циклом «j». Если не изменение, внесенное в течение этого цикла j, изменить матрицу [, i] на символьный вектор, и тогда невозможно повторно вычислить квантиль. </p>
Не забудьте "sanitize.text.function = identity" в печати.