首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >基于R条件的数据仓库着色单元

基于R条件的数据仓库着色单元
EN

Stack Overflow用户
提问于 2020-02-22 03:46:14
回答 1查看 1.6K关注 0票数 0

我有一个类似于这个例子的数据文件:

代码语言:javascript
运行
复制
>df
id  prev_score  cur_score   change
1      10          8         -2
2      8           9          1
3      6           7          1
4      8           8          0
5      8           9          1

我想根据prev_score列的值对change列单元格进行颜色化。例如,if df$change[i] > 0df$prev_score[i]细胞颜色应为深蓝色,if df$change[i] == 0df$prev_score[i]细胞颜色应为蓝色,if df$change[i] < 0df$prev_score[i]细胞颜色应为浅蓝色。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-02-22 06:16:01

在您的问题中,tt不清楚您是否要更改文本或单元格的颜色。

对于文本的颜色,使用formattable,您可以:

代码语言:javascript
运行
复制
library(formattable)
formattable(df, list(
  prev_score = formatter("span", 
                         style = ~style(font.weight = "bold", color = 
                                          ifelse(change > 0,"darkblue",
                                                 ifelse(change == 0,"blue",
                                                        ifelse(change <0, "lightblue",NA)))))
))

如果要着色框而不是文本,可以执行以下操作:

代码语言:javascript
运行
复制
formattable(scores, list(
  prev_score = formatter("span", 
                         style = ~style(display = "block",
                                        font.weight = "bold", 
                                        color = "white",
                                        "border-radius" = "4px",
                                        "padding-right" = "4px",
                                        "background-color" =  
                                          ifelse(change > 0,"darkblue",
                                                 ifelse(change == 0,"blue",
                                                        ifelse(change <0, "lightblue",NA)))))
))

它能回答你的问题吗?

可复制示例

代码语言:javascript
运行
复制
df <- data.frame(id = 1:5,
                     prev_score = c(10, 8, 6, 8, 8),
                     cur_score = c(8, 9, 7, 8, 9),
                     change = c(-2, 1, 1, 0, 1))
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60348825

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档