r - 使用 by_cases() 时,R 中的 Huxtable 格式错误
问题描述
当我运行这个
library(tidyverse)
df = data.frame(
stringsAsFactors = FALSE,
Type = c("a", "b", "c", "d"),
A = c(51, 5, 10, 155.5),
P1 = c(40.1, 50.5, 127.8, 216),
C = c(40, 45, 50, 255)
)
library(huxtable)
ht = as_hux(df)
ht %>% map_text_color( row = 2:nrow(df), col = 2:3,
by_cases(. < 50 ~ "red")) %>%
set_all_borders()
ht
我得到表: 表
问题是 127.8 大于 50 所以它不应该是红色的。如何让它成为我想要的?
解决方案
根本问题是添加案例已将您的数字变为character()
. 一种解决方法是使用by_cases(as.numeric(.) < 50 ~ "red")
. 或者,写:
ht = as_hux(df, add_colnames = FALSE)
ht %>% map_text_color(col = 2:3,
by_cases(. < 50 ~ "red")) %>%
add_colnames() %>%
set_all_borders() %>%
它将数据保持为数字,直到您完成颜色映射。
推荐阅读
- html - CSS 在具有自动列数的网格中显示无换行 DIV
- nestjs - 如何在 NestJS 中拆除 MikroOrm
- azure - 能够对 API 管理服务的调用进行交互式登录吗?
- keras - 将 keras 图模型转换为 tf.js 时出错
- docker - 如何重置 couchbase docker 容器密码
- pandas - 带有值错误的熊猫数据框应用功能
- ruby - 在 Catalina 10.15.2 上安装 cocoapods 时出错
- python - 为时间序列预测预处理数据
- docker - 如何在 linux (Android) 中修改配置文件 (/proc/config.gz)?
- google-aiy - 如何使用 AIY Vision Bonnet 将相机旋转 90 度?