R-knitr::kable(";html)-名称(列表)中的列名称
我正在RStudio写一篇博客文章。在某一点上,chunks输出是一个带有命名数字向量的命名列表,其结构如下:R-knitr::kable(";html)-名称(列表)中的列名称,r,knitr,blogdown,kable,R,Knitr,Blogdown,Kable,我正在RStudio写一篇博客文章。在某一点上,chunks输出是一个带有命名数字向量的命名列表,其结构如下: object <- list("Name One" = c("A" = 1, "B" = 1), "Name two" = c("C" = 2, "D" = 2)) 在漂亮的HTML表中呈现输出。本例中呈现的列名称应为“Name One”和“Name Two” 当然,采用col.names=names(object)的方式将是完美的 这是我收到的错误消息: Error in d
object <- list("Name One" = c("A" = 1, "B" = 1), "Name two" = c("C" = 2, "D" = 2))
在漂亮的HTML表中呈现输出。本例中呈现的列名称
应为“Name One”
和“Name Two”
当然,采用col.names=names(object)
的方式将是完美的
这是我收到的错误消息:
Error in dimnames(x) <- dn : length of 'dimnames' [2] not equal to array extent
所以我猜你想要一张像这样的桌子(如果不是的话,请随意说)
名字一
名字二
A.
1.
B
2.
我喜欢上面Emi的解决方案,还有另外两个在网页上呈现得很好的选项,包括我最喜欢的DT
软件包中的一个(还有更多选项--这个选项上有很多空白):
下面是flextable中的另一个:
library(flextable)
data.frame(as.vector(object)) %>%
regulartable() %>% set_header_labels(names(object))
我不太明白您想要的最终输出是什么。为什么不将列表转换为所需格式的data.frame?谢谢您的提示。我刚刚更新了我的帖子,使我的目标更加明确。下面的区块可在.Rmd中复制
<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>
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))
library(DT)
data.frame(as.vector(object)) %>%
datatable(options=list(dom='t'),colnames=names(object))
library(flextable)
data.frame(as.vector(object)) %>%
regulartable() %>% set_header_labels(names(object))