我无法使cellcolor在rmarkdown中工作:

---
header-includes:
   -  \usepackage{colortbl}
   -  \usepackage{color}

output:
    pdf_document
---

```{r, results="asis"}

library(xtable)
# Your data
tab = data.frame(category = c("A","B","C"), groupA = c(.2,.3,.5), groupB= c(.6,.7,.9))

# Function to cut your data, and assign colour to each range
f <- function(x) cut(x, c(0, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, Inf),
                      labels=c("green", "red", "blue", "orange", "yellow", "purple", "brown", "white"),
                      include.lowest = FALSE, right = TRUE)

# Apply function to columns: this overwrites your data
tab[c("groupA", "groupB")] <- lapply(tab[c("groupA", "groupB")], function(x)
                                            paste0("\\cellcolor{", f(x), "}", x))
# Sanitise output
print(xtable(tab), sanitize.text.function = identity)
```

我不断收到此错误:
! Undefined control sequence.
l.155 1 & A & \cellcolor

有什么想法cellcolor需要起作用吗?

最佳答案

更新

当包含\usepackage[dvipsnames]{xcolor}时,OP的示例对我有效。对于另一种方法,请参见下文。

替代方法

这是使用非常方便的condformat包的另一种方法。这样,您不必手工包括任何TeX软件包,也不必担心转义特殊字符等。

我们基本上创建了一个condformat_tbl对象,并为每列添加了两个格式化规则。

---
output:
    pdf_document
---

```{r, include = F}
library(condformat)
cols        <- c('green', 'red', 'blue', 'orange',
                 'yellow', 'purple', 'brown', 'white')
names(cols) <- cols # important for the colours arg in rule_fill_discrete
                    # since it matches the result of 'expression' with the names of the 'colours' vector

f   <- function(x) cut(x, c(0, seq(.2, .8, .1), Inf), labels = cols,
                       include.lowest = FALSE, right = TRUE)
tab <- data.frame(category = c('A', 'B', 'C'),
                  groupA = c(.2, .3, .5),
                  groupB = c(.6, .7, .9))
```


```{r, results = 'asis', echo = F}
condformat(tab) +
  rule_fill_discrete(groupA, expression = f(groupA), colours = cols) +
  rule_fill_discrete(groupB, expression = f(groupB), colours = cols)
```

注意,rule_fill_discrete中colors参数的值是键-值对的向量。键是表达式的可能结果。

这就是您得到的:

r - 如何在rmarkdown pdf输出中为单元格上色-LMLPHP

关于r - 如何在rmarkdown pdf输出中为单元格上色,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45311909/

10-09 18:36