我正在尝试围绕 R 中的特定列创建边框。我可以使用kableExtra包(如下所示)
来做到这一点iris <- datasets::iris
iris2 <- do.call(data.frame, aggregate(. ~ Species, iris, function(x) c(mean = mean(x), sd = sd(x))))
res2 <- kable(iris2,"html", col.names = c("Species", "Mean", "SD", "Mean", "SD", "Mean", "SD", "Mean", "SD"), align = c("r","c","c","c","c","c","c","c","c")) %>%
kable_styling(bootstrap_options = c("striped", "hover")) %>%
add_header_above(c(" " = 1, "Sepal Length" = 2, "Sepal Width" = 2, "Petal Length" = 2, "Petal Width" = 2))
print(res2)
res3<- column_spec(res2, c(2,4,6,8), border_left = TRUE, border_right = FALSE)
column_spec(res3, c(3,5,7,9), border_left = FALSE, border_right = TRUE)
这会在正确的位置创建我想要的边框,但我希望它们是灰色而不是黑色。我尝试使用column_spec函数中的'color =',但它将整个列变为灰色而不仅仅是边框。
res3<- column_spec(res2, c(2,4,6,8), border_left = TRUE, border_right = FALSE, color = "#D8D7D7")
column_spec(res3, c(3,5,7,9), border_left = FALSE, border_right = TRUE, color = "#D8D7D7")
有关如何更改边框颜色的任何建议都会有所帮助!目前,我正在使用getAnywhere()
来查看是否可以稍微更改功能。
答案 0 :(得分:9)
将css用于边框。这工作
column_spec(res3, c(3,5,7,9), border_left = "2px solid gray",
border_right = "2px solid gray")