如何在R的formattable包中设置列格式时排除total行?
在formattable中排除total行设置列格式的方法
你之前的代码里category[-3,]的写法不符合formattable的语法规范,没法实现排除total行的需求。要达到只对非total行应用样式的效果,需要在formatter函数内部通过条件判断来筛选目标行。
正确的实现代码如下:
library(formattable) df <- data.frame(category=c('a','b','total'),value=c(1,2,3)) formattable(df, list( # 给category列的非total行设置红色 category = formatter("span", style = x ~ style(color = ifelse(x != "total", "red", NA)) ), # 给value列对应非total的行设置红色 value = formatter("span", style = x ~ style(color = ifelse(df$category != "total", "red", NA)) ) ))
关键说明:
- 针对
category列,直接用当前列的值x做判断,仅当x不等于"total"时应用红色样式,NA表示保留默认格式 - 针对其他列(比如
value),需要关联df$category的值来判断,确保对应行不是total时才生效
内容的提问来源于stack exchange,提问作者anderwyang
相关产品推荐
相关产品推荐

