R:条件高亮显示是可接受的

R:条件高亮显示是可接受的,r,latex,kable,R,Latex,Kable,假设我有这样一个矩阵: set.seed(1234) x = rnorm(10, mean=0, sd=1) y = rnorm(10, mean=0, sd=1) z = rnorm(10, mean=0, sd=1) data=data.frame(rbind(x,y,z)) 是否有任何方法可以在不指定列的情况下突出显示所有特定单元格(例如,在本例中大于0) 我的预期结果如下(仅突出显示正值): 在实际情况中,我有大约30列,如果我尝试一列一列地对每列进行列规格说明,那么它将耗尽: da

假设我有这样一个矩阵:

set.seed(1234)
x = rnorm(10, mean=0, sd=1)
y = rnorm(10, mean=0, sd=1)
z = rnorm(10, mean=0, sd=1)
data=data.frame(rbind(x,y,z))
是否有任何方法可以在不指定列的情况下突出显示所有特定单元格(例如,在本例中大于0)

我的预期结果如下(仅突出显示正值):

在实际情况中,我有大约30列,如果我尝试一列一列地对每列进行列规格说明,那么它将耗尽:

data %>%
  column_spec(X1, color = "red") %>%
  column_spec(X2, color = "red")


谢谢

您可以执行以下操作

---
title: "Untitled"
output:
  html_document: default
---    

```{r warning=FALSE, message=FALSE, echo=FALSE}
set.seed(1234)
x = rnorm(10, mean=0, sd=1)
y = rnorm(10, mean=0, sd=1)
z = rnorm(10, mean=0, sd=1)
data=data.frame(rbind(x,y,z))

library(knitr)
library(kableExtra)
library(tidyverse)

data %>% 
    mutate_all(~cell_spec(.x, color = ifelse(.x < 0, "red"," black"))) %>%
    kable(escape = F) %>%
    kable_styling()
```
---
标题:“无标题”
输出:
html_文档:默认值
---    
```{r warning=FALSE,message=FALSE,echo=FALSE}
种子集(1234)
x=rnorm(10,平均值=0,标准差=1)
y=rnorm(10,平均值=0,标准差=1)
z=rnorm(10,平均值=0,标准差=1)
数据=数据帧(rbind(x,y,z))
图书馆(knitr)
图书馆(kableExtra)
图书馆(tidyverse)
数据%>%
突变所有(~cell\u spec(.x,color=ifelse(.x<0,“红色”、“黑色”)))%%>
可移动(逸出=F)%>%
kable_造型()
```
这就产生了


更新 或更改文本和背景颜色

---
title: "Untitled"
output:
  html_document: default
---


```{r warning=FALSE, message=FALSE, echo=FALSE}
set.seed(1234)
x = rnorm(10, mean=0, sd=1)
y = rnorm(10, mean=0, sd=1)
z = rnorm(10, mean=0, sd=1)
data=data.frame(rbind(x,y,z))

library(knitr)
library(kableExtra)
library(tidyverse)

data %>% 
    mutate_all(~cell_spec(
        .x, 
        color = ifelse(.x < 0, "white", "white"),
        background = ifelse(.x < 0, "red"," black"))) %>%
    kable(escape = F) %>%
    kable_styling()
```
---
标题:“无标题”
输出:
html_文档:默认值
---
```{r warning=FALSE,message=FALSE,echo=FALSE}
种子集(1234)
x=rnorm(10,平均值=0,标准差=1)
y=rnorm(10,平均值=0,标准差=1)
z=rnorm(10,平均值=0,标准差=1)
数据=数据帧(rbind(x,y,z))
图书馆(knitr)
图书馆(kableExtra)
图书馆(tidyverse)
数据%>%
变异所有(~cell\u规范)(
.x,
颜色=ifelse(.x<0,“白色”、“白色”),
背景=ifelse(.x<0,“红色”、“黑色”))%>%
可移动(逸出=F)%>%
kable_造型()
```

非常感谢毛里塔尼亚!最后一个跟进问题:是否可以更改单元格颜色(如背景颜色)而不是文本颜色?@RachelZhang当然,您可以通过
cell_spec
参数
background
更改背景颜色;我已经更新了我的答案来展示一个例子。请看一看。