knitr-两个数据帧并排,在R标记中交替使用行颜色
在R-markdown中,我喜欢用交替的行颜色(一灰一白)显示数据帧,如下所示knitr-两个数据帧并排,在R标记中交替使用行颜色,r,dataframe,r-markdown,knitr,R,Dataframe,R Markdown,Knitr,在R-markdown中,我喜欢用交替的行颜色(一灰一白)显示数据帧,如下所示 library(kableExtra) df <- data.frame(col_1 = c(1,2), col_2 = c(2,4)) knitr::kable(df)%>% row_spec(seq(1,nrow(df),2), background="#D3D3D3") %>% kable_styling(full_width=F) 库(kableExtra)
library(kableExtra)
df <- data.frame(col_1 = c(1,2), col_2 = c(2,4))
knitr::kable(df)%>%
row_spec(seq(1,nrow(df),2), background="#D3D3D3") %>%
kable_styling(full_width=F)
库(kableExtra)
df%
行规格(序号(1,nrow(df),2),背景=“#D3”)%>%
可折叠样式(全宽=F)
现在我想并排显示两个数据帧。我可以用你的力量完成它
df_1 <- df
df_2 <- df
knitr::kable(list(df_1, df_2)) %>%
kable_styling(full_width=F)
dfu 1我们可以使用bind\u cols
library(dplyr)
knitr::kable(bind_cols(df_1, df_2) %>% setNames(rep(names(df_1), 2))) %>%
row_spec(seq(1,nrow(df_1),2), background="#D3D3D3") %>%
kable_styling(full_width=F)
或者转换为matrix
和cbind
,因为matrix
可以有重复的列名。使用data.frame
,make.unique
将通过向重复列名添加后缀来修改重复列名
knitr::kable(cbind(as.matrix(df_1), as.matrix(df_2))) %>%
row_spec(seq(1, nrow(df), 2), background="#D3D3D3")
kable_styling(full_width=FALSE)
您是否尝试过插入一个包含两列的节,然后只调用kable两次?谢谢,我想如果数据帧的行数不同,那么我可以通过填充空单元格使它们相同。@user1700890您可以使用rowr::cbind.fill(df_1,df_2,fill=NA)
@user1700890,但您可以从CRAN repo安装archives@user1700890您可以从中获取tar文件,并使用install.packages
@user1700890中的local=TRUE
安装它,或者如果您没有软件包,则在每个文件中创建一个序列列,并通过该列进行联接