rword-wrapkableextraitalics

Column name formatting in KableExtra in R


Latex command are not formatting the column names as I intended.

library(kableExtra)
kable(test,"latex", col.names = c('Mean','\\textit{N}' ,'Strongly\nDisagree','Disagree','Neither Agree\norDisagree','Agree','Strongly\nAgree'))

The output I am getting is:

https://www.dropbox.com/s/xvl7lfh94bl2274/Kable%20Table.PNG?dl=0

I have tried both latex commands and R-markdown commands.

The N should be italicized and Strong disagree, Neither Agree or Disagree, and Strongly Agree should be broken up on two lines.


Solution

  • test_data <- data.frame(Mean = runif(5, 3.71, 7.72),
                            N = sample(57:59, 5, replace = TRUE),
                            sd = c(1, rep(0, 4)),
                            d = rep(1, 5),
                            naod = sample(1:4, 5, replace = TRUE),
                            a = sample(5:12, 5, replace = TRUE),
                            sa = sample(37:44, 5, replace = TRUE))
    
    kable(test_data,"latex" ,booktabs=T,
          align="c",
          col.names=linebreak(c('Mean','\\textit{N}' ,'Strongly\n Disagree','Disagree','Neither Agree\n or Disagree','Agree','Strongly\n Agree')),
          row.names = T,escape=F) %>%
      row_spec(0,align = "c")