0

I have the .rmd file below which I want to knit and create a word document with the table. The issue is that after knitting I do not get a table but numbers one below the other.

If there is other option Im open to it

---
title: "Correlation table"
author: "mk"
date: "17/01/2022"
output: word_document
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
library(scipub)
library(htmlTable)
library(magrittr)
library(mvtnorm)
set.seed(666L)
```

```{r,echo=FALSE,include=FALSE}
dat <- as.data.frame(rmvnorm(50, sigma = toeplitz(3:1)))
colnames(dat) <- c("V1", "V2", "V3")
cortable <- correltable(dat, html = FALSE)
table2 <- as.data.frame(matrix(as.character(cortable$table), nrow = 3)) 
caption <- cortable[["caption"]]
Means <- formatC(colMeans(dat))
Sds <- formatC(apply(dat, 2L, sd))
table1 <- data.frame(Mean = Means, SD = Sds)
```

```{r, results='asis',echo=FALSE}
css.cell <- matrix("padding: 5px;", ncol = 6L, nrow = 4L)
css.cell[, 1L] <- 
  paste(css.cell[, 1L], "font-weight: bold;") # <-- bold row names
cbind(table1, table2) %>%
  addHtmlTableStyle(css.cell = css.cell) %>% 
  htmlTable(caption = caption)
```
firmo23
  • 7,490
  • 2
  • 38
  • 114

1 Answers1

1

The simple way would be:

---
title: "Correlation table"
author: "mk"
date: "17/01/2022"
output: word_document
---
knitr::opts_chunk$set(echo = TRUE)
library(scipub)
library(htmlTable)
library(magrittr)
library(mvtnorm)
set.seed(666L)
dat <- as.data.frame(rmvnorm(50, sigma = toeplitz(3:1)))
colnames(dat) <- c("V1", "V2", "V3")
cortable <- correltable(dat, html = FALSE)
table2 <- as.data.frame(matrix(as.character(cortable$table), nrow = 3)) 
caption <- cortable[["caption"]]
Means <- formatC(colMeans(dat))
Sds <- formatC(apply(dat, 2L, sd))
table1 <- data.frame(Mean = Means, SD = Sds)
css.cell <- matrix("padding: 5px;", ncol = 6L, nrow = 4L)
css.cell[, 1L] <- 
  paste(css.cell[, 1L], "font-weight: bold;") # <-- bold row names
cbind(table1, table2) %>%
  addHtmlTableStyle(css.cell = css.cell) %>% 
  htmlTable(caption = caption)
df <- cbind(table1, table2)
knitr::kable(df)

you can play with styles in different ways:

Regards, Grzegorz

Grzegorz Sapijaszko
  • 1,913
  • 1
  • 5
  • 12