小编Dr *_*ave的帖子

替换kable/R markdown中的列名称

我的数据框具有丑陋的列名,但在我的报告中显示表时,我想要他们的"真实"名称,包括特殊字符'(',新行,希腊字母,重复名称等.

是否有一种简单的方法来替换knitr中的名称以允许这种格式化?

提出的解决方案

我试图做的是禁止打印数据框名称,并使用add_header_above跨越多列的更好的名称和名称.我见过的一些建议说要使用:

x <- kable(df)
gsub("<thead>.*</thead>", "", x) 
Run Code Online (Sandbox Code Playgroud)

删除列名称.这很好,但问题是,当我随后add_header_above,原来的列名回来了.如果我使用col.names=rep('',times=ncol(d.df))kable(...)名称是走了,但该行仍然存在,离开我的新的列名和表体之间的间隙.这是一个代码块来说明:

```{r functions,echo=T}
drawTable <- function(d.df,caption='Given',hdr.above){
require(knitr)
require(kableExtra)
require(dplyr)

hdr.2 <- rep(c('Value','Rank'),times=ncol(d.df)/2)
x <- knitr::kable(d.df,format='latex',align='c',
  col.names=rep('',times=ncol(d.df))) %>%     
kable_styling(bootstrap_options=c('striped','hover',
  'condensed','responsive'),position='center',
   font_size = 9,full_width=F)

x %>% add_header_above(hdr.2) %>%
  add_header_above(hdr.above)
}
```

```{r}
df <- data.frame(A=c(1,2),B=c(4,2),C=c(3,4),D=c(8,7))
hdr.above <- c('A2','B2','C2','D2')
drawTable(df,hdr.above = hdr.above)
```
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

r r-markdown kableextra kable

7
推荐指数
1
解决办法
1万
查看次数

在Win64中将StatET与Eclipse一起使用:“当前工作台窗口中没有R会话处于活动状态”

尝试启动R时,如果在Eclipse中收到以下错误消息,该怎么办?

“当前工作台窗口中没有R会话处于活动状态”

eclipse r statet

6
推荐指数
1
解决办法
2003
查看次数

标签 统计

r ×2

eclipse ×1

kable ×1

kableextra ×1

r-markdown ×1

statet ×1