R- knitr:kable - 是否可以隐藏选定的列?
R- knitr:kable - Is it possibe to hide selected columns?
我想在 R 中使用 knitr:kable 创建一个 table,我在其中使用多个辅助列进行条件格式化。
table (df_prices) 看起来像这样:
device price competion_price
A 20 23
B 158 160
C 1000 999
我正在使用 mutate 和 cell_spec 进行条件格式化,就像这样:
df_prices%>%
mutate(price= cell_spec(
price, color = "grey", bold = T,
background = ifelse(price <= competion_price, green, red) %>%
kable(escape = F, align = "c") %>%
kable_styling(bootstrap_options = "striped", full_width = T, position = "left",font_size = 14) %>%
collapse_rows(columns = c(1), valign = "middle")
这工作正常,但在最终输出中我想隐藏列“competion_price”,这样输出看起来像这样但正确突出显示:
device price
A 20
B 158
C 1000
这样的事情可能吗?非常感谢您的任何建议。
使用 dplyr::select
和 -
来删除 select 这样的列。
library(knitr)
library(kableExtra)
library(dplyr)
df_prices <- read.table(text="device price competion_price
A 20 23
B 158 160
C 1000 999", sep='',header=T)
df_prices %>%
dplyr::mutate(price= cell_spec(price, color = "grey", bold = T, background = ifelse(price <= competion_price, 'green', 'red'))) %>%
dplyr::select(-competion_price) %>%
kable(escape = F, align = "c") %>%
kable_styling(bootstrap_options = "striped", full_width = T, position = "left",font_size = 14) %>%
collapse_rows(columns = c(1), valign = "middle")
(还对原始代码进行了一些修复以使其正常工作)
您还可以使用 kableExtra::remove_column()
,从最终 kable
table.
中删除选定的列
例如,这将从 table
中删除第一列
library(kableExtra)
my_table = kable(mtcars)
remove_column(my_table, 1)
我想在 R 中使用 knitr:kable 创建一个 table,我在其中使用多个辅助列进行条件格式化。
table (df_prices) 看起来像这样:
device price competion_price
A 20 23
B 158 160
C 1000 999
我正在使用 mutate 和 cell_spec 进行条件格式化,就像这样:
df_prices%>%
mutate(price= cell_spec(
price, color = "grey", bold = T,
background = ifelse(price <= competion_price, green, red) %>%
kable(escape = F, align = "c") %>%
kable_styling(bootstrap_options = "striped", full_width = T, position = "left",font_size = 14) %>%
collapse_rows(columns = c(1), valign = "middle")
这工作正常,但在最终输出中我想隐藏列“competion_price”,这样输出看起来像这样但正确突出显示:
device price
A 20
B 158
C 1000
这样的事情可能吗?非常感谢您的任何建议。
使用 dplyr::select
和 -
来删除 select 这样的列。
library(knitr)
library(kableExtra)
library(dplyr)
df_prices <- read.table(text="device price competion_price
A 20 23
B 158 160
C 1000 999", sep='',header=T)
df_prices %>%
dplyr::mutate(price= cell_spec(price, color = "grey", bold = T, background = ifelse(price <= competion_price, 'green', 'red'))) %>%
dplyr::select(-competion_price) %>%
kable(escape = F, align = "c") %>%
kable_styling(bootstrap_options = "striped", full_width = T, position = "left",font_size = 14) %>%
collapse_rows(columns = c(1), valign = "middle")
(还对原始代码进行了一些修复以使其正常工作)
您还可以使用 kableExtra::remove_column()
,从最终 kable
table.
例如,这将从 table
中删除第一列library(kableExtra)
my_table = kable(mtcars)
remove_column(my_table, 1)