Please consider the following MWE
library(xtable)
DF <- as.data.frame(UCBAdmissions)
print(xtable(DF, align="p{0.4\textwidth}|p{0.15\textwidth} p{0.15\textwidth} p{0.15\textwidth}"), sanitize.text.function = function(x){x},
table.placement="!htp", include.rownames=FALSE,
tabular.environment='longtable',floating=FALSE)
I want to set the alignment of my longtable
like
\begin{longtable}{p{0.4\textwidth}|p{0.15\textwidth} p{0.15\textwidth} p{0.15\textwidth}}
Still when I try to pass the argument to a xtable
object I get
Warning message:
In .alignStringToVector(value) : Nonstandard alignments in align string
Error in print(xtable(DF, align = "p{0.4\textwidth}|p{0.15\textwidth} p{0.15\textwidth} p{0.15\textwidth}"), :
error in evaluating the argument 'x' in selecting a method for function 'print': Error in `align<-.xtable`(`*tmp*`, value = "p{0.4\textwidth}|p{0.15\textwidth} p{0.15\textwidth} p{0.15\textwidth}") :
"align" must have length equal to 5 ( ncol(x) + 1 )
I understand I should add the alignment for a 5th column (how?) but also I don't understand the error message. Should I sanitize the string?
I am unable to test this but I think you need to apply standard R escaping to backslashes in a string , remove the extraneous "\" and add the missing "pipe bars" (
|
). Then thealign<-
succeeds with only a warning:Or: