Я работаю над постом блога в RStudio. В какой-то момент вывод чанков представляет собой именованный список с именованными числовыми векторами, структурированный так:
object <- list("Name One" = c("A" = 1, "B" = 1), "Name two" = c("C" = 2, "D" = 2))
То, что я хочу сделать, это использовать:
object %>%
knitr::kable("html", col.names = X)
для визуализации вывода в красивой HTML-таблице. Отображаемое col.names
в этом примере должно быть "Name One"
и "Name Two"
.
Конечно, что-то вроде col.names = names(object)
было бы идеально!
Это сообщение об ошибке Я получаю:
Error in dimnames(x) <- dn : length of 'dimnames' [2] not equal to array extent
Я понимаю, что каждый заголовок столбца отображается как:
<tr>
<th style="text-align:left;"> </th>
<th style="text-align:right;"> x </th>
</tr>
Обратите внимание на пустую первую ячейку.
Каждый столбец именованного числа отображается как:
<tr>
<td style="text-align:left;"> A </td>
<td style="text-align:right;"> 1 </td>
</tr>
<tr>
<td style="text-align:left;"> B </td>
<td style="text-align:right;"> 1 </td>
</tr>
Я пытался использовать вектор c("Name One","name Two")
, вектор c("Name One","n","Name Two","n")
и различные комбинации seq()
и rep()
без успеха.
Более реалистичный пример здесь
Ждем любых аккуратных подсказок.
Редактировать: я просто добавил object %>%
, чтобы сделать мою цель более явной. Чтобы воспроизвести это, вам нужно запустить этот блок в R Markdown / Notebook:
object <- list("Name One" = c("A" = 1, "B" = 1), "Name two" = c("C" = 2, "D" = 2))
# cf. names(object)
object %>%
knitr::kable("html", col.names = names(object))