自动着色号码 - R的乳胶(R to latex - Coloring numbers autom

2019-09-29 09:55发布

我有一个(长)R矩阵。 例如:

matrix <- matrix(rexp(200, rate=.01), ncol=4)

我想找到一种方法,颜色,例如每一列的15%,更重要的数字, 之前做乳胶提取如下:

print(xtable(matrix, align = c("r","r","r","r","r")),
type = "latex",
floating = FALSE,
tabular.environment = "longtable")

任何想法?

Answer 1:

我终于找到了一个肮脏的解决方案

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]为字符向量,它是然后不可能重新计算分位数。

请不要在打印忘记“sanitize.text.function =身份”。



文章来源: R to latex - Coloring numbers automatically