我在Kableextra中遇到了一些对齐结果的问题。
---
title: "Report test 1"
author: "Adam"
date: "May 9, 2019"
output: pdf_document
---
COLLEGE: College of Education
DEPARTMENT: Office of Assessment and Accreditation
SEMESTER: Fall 2018
SECTION 1: Please provide the mean and frequency distribution of the two required questions for all Traditional Delivery Courses. NOTE: The MEAN and N is required. The Frequency is optional.
x<-c(45,2,8,10,32,33)
y<-c(2,3,3,3,3,3)
EDLP_D.1<-cbind(x,y)
colnames(EDLP_D.1)<- c("Sheet", "Please indicate your level of satisfaction with the availability of the instructor outside the classroom. (In selecting your rating, consider the instructor's availability via established office hours, appointments, and opportunities for face-to-face interaction as well and as via telephones, e-mail, fax, and other means")
#function to compute values needed for table
vec_fun4 <- function(x,y){
Vec <-c(colnames(x[,y]),round(mean(x[[y]]),2),length(which(!is.na(x[,y]==F))),length(which(x[,y]==1)),length(which(x[,y]==2)),length(which(x[,y]==3)),length(which(x[,y]==4)))
return(Vec)
}
#Switch from long format to wide format
item2.1 <- as.data.frame(t(as.matrix(vec_fun4(EDLP_D.1,1))))
#Make table
library(kableExtra)
kable(item2.1,"latex" ,booktabs=T, align = "lcccccc", col.names=linebreak(c(' ','Mean','\\textit{N}' ,'Strongly\n Disagree','Disagree','Agree','Strongly\n Agree')),row.names = F,escape=F) %>%
column_spec(1, width = "20em" )我想让数值在他们的单元格中水平和垂直居中。
我在这里附上了一份表格

发布于 2019-11-26 02:19:55
我没有足够的分数来发表评论。我也有同样的问题,你想过这个问题吗?
您可以尝试使用此函数将文本居中:
centerText <- function(text){
paste0("\\multirow{1}{*}[0pt]{", text, "}")
}但是,这可能会弄乱您格式,比如列宽和文本换行,就像我的一样。如果你找到了更好的解决方案,请告诉我。
发布于 2020-01-17 16:01:57
我解决方案是替换几个latex脚本
示例:
```{r results='asis'}库(KableExtra)
库(Dplyr)
库(字符串)
kable(
data.frame(
'x1' = 'Lorem ipsum dolor sit amet, consectetur adipisicing elit. Reprehenderit voluptates ut quam delectus perferendis tempora, voluptas fuga deleniti asperiores ipsam ipsum nam animi sequi, nisi dicta, minus pariatur atque, nemo.','x2' = 11,'x3' = 22,'x4' = 33),
align = 'lccr',
书签=T
col.names = c(‘','X2','X3’,'X4'),
格式= "latex“
) %>%
column_spec(1,width = "20em") %>%
column_spec(2:4,width = "5em") %>%
str_replace(
'(?<=\\\\begin\\{tabular\\}).+','{ >{\\\\raggedright\\\\arraybackslash}m{20em} >{\\\\centering\\\\arraybackslash}m{5em} >{\\\\centering\\\\arraybackslash}m{5em} >{\\\\raggedleft\\\\arraybackslash}m{5em} }') %>%
猫

https://stackoverflow.com/questions/56066167
复制相似问题