我有一个表格,其中包含多个变量,每个变量名称都很长,每行也有长的字符字符串作为值。如何显式设置每列的宽度,以便通过R Markdown渲染的HTML表格不会自动将行加倍以适应长字符串进入单元格?
如果有一些列足够长,即使表格不能同时显示所有列,对我来说也没关系。但是,我总是可以使用“FixedColumns”扩展名和滚动条向右移动以获取更多列。
我目前正在使用以下代码设置列宽:
options = list(
autowidth = TRUE,
columnDefs = list(list(width = '600px', targets = c(1, 2))),
但是无论我如何不同地设置宽度,最终呈现的表格看起来并没有太大的区别。
以下是一些可重现的代码,我在rmarkdown中使用这些代码,包括生成模拟数据和HTML中的DT对象。
```{r}
# generate data
vec_1 <- c("DHDH, DDDDDTV",
"DHDH, DDDDDTV, TT&T",
"DHDH, DDDDDTV, TT&T, Caaater",
"DHDH, DDDDDTV, TT&T, Caaater, Cxx",
"DHDH, DDDDDTV, TT&T, Cxx",
"DHDH, DDDDDTV, Caaater",
"DHDH, DDDDDTV, Caaater, Cxx",
"DHDH, DDDDDTV, Cxx")
vec_2 <- c("Some radomn long string aaa bbb ccc dddd aaa bbb ccccccc",
"Some radomn long stringa",
"Some string aaa bbb",
"Some radomn long string aaa bbb ccc dddd aaa bb (A)",
"Some radomn long string aaa bbb ccc dddd aaa b (B)",
"Some radomn long string aaa bbb ccc dd (D)",
"Some radomn long string aaa bbb ccc ddd (D)",
"Some radomn long string aaa bbb ccc d (D)",
"Some radomn long string aaa bbb ccc ddd aaa bbb dddaa (G)",
"Some radomn long string aaa bbb ccc ddd aaa bbb dddaa(G)",
"Some radomn long string aaa bbb ccc ddd aaa bbb ddd (G)",
"Some radomn long strin(H)",
"Some radomn long string (G)",
"Some radomn long (Beee)")
col_1 <- sort(rep(vec_1, 14))
col_2 <- rep(vec_2, 8)
col_3 <- c(rep(105, 14), rep(29, 14), rep(22, 14), rep(2, 14),
rep(10, 14), rep(29, 14), rep(5, 14), rep(8, 14))
col_4 <- rnorm(112)
col_5 <- rnorm(112)
col_6 <- rnorm(112)
col_7 <- rnorm(112)
col_8 <- rnorm(112)
col_9 <- rnorm(112)
df <- data.frame(col_1, col_2, col_3, col_4, col_5, col_6, col_7, col_8, col_9)
```
```{r}
library(DT)
datatable(
df,
colnames = c("Source Type", "Factors",
"Market Counts", "Minimum", "1st Qu",
"Median", "Mean", "3rd Qu", "Maximum"),
extensions = 'FixedColumns',
options = list(
autowidth = TRUE,
columnDefs = list(list(width = '600px', targets = c(1, 2))),
pageLength = 14,
lengthMenu = c(7, 14, 28, 36),
scrollX = TRUE,
fixedColumns = TRUE
)) %>%
formatRound(4:9, digits = 2)
```
这是使用上述代码生成的HTML格式的DT截图:
![enter image description here](https://istack.dev59.com/vzo34.webp)