15

我正在尝试在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()看看我是否可以稍微改变一下功能。

4

1 回答 1

12

使用css变成边框。这有效

column_spec(res3, c(3,5,7,9), border_left = "2px solid gray",
            border_right = "2px solid gray")
于 2018-01-30T18:40:06.893 回答