[R] Antwort: Re: xtable: Width of Columns

Michael Dewey lists at dewey.myzen.co.uk
Mon Mar 6 12:23:25 CET 2017



On 06/03/2017 07:45, G.Maubach at weinwolf.de wrote:
> Hi Michael,
>
> thank for you answer.
>
> Where do I have to put the code snippet "p(3cm)"? Is it neither an
> official argument to xtable() nor to print.xtable().
>

 From the help about the align argument:

Character vector of length equal to the number of columns of the 
resulting table, indicating the alignment of the corresponding columns. 
Also, "|" may be used to produce vertical lines between columns in LaTeX 
tables, but these are effectively ignored when considering the required 
length of the supplied vector. If a character vector of length one is 
supplied, it is split as strsplit(align, "")[[1]] before processing. 
Since the row names are printed in the first column, the length of align 
is one greater than ncol(x) if x is a data.frame. Use "l", "r", and "c" 
to denote left, right, and center alignment, respectively. Use "p{3cm}" 
etc. for a LaTeX column of the specified width. For HTML output the "p" 
alignment is interpreted as "l", ignoring the width request. Default 
depends on the class of x.

> Could you give me a hint?
>
> Kind regards
>
> Georg
>
>
>
>
> Von:        Michael Dewey <lists at dewey.myzen.co.uk>
> An:        G.Maubach at weinwolf.de, r-help at r-project.org,
> Datum:        03.03.2017 12:41
> Betreff:        Re: [R] xtable: Width of Columns
> ------------------------------------------------------------------------
>
>
>
> Does p{3cm} do what you want as an alignment?
>
> On 02/03/2017 12:39, G.Maubach at weinwolf.de wrote:
>> Hi All,
>>
>> I have the following code in R Markdown document:
>>
>> ```{r, results = "asis", echo = FALSE}
>> library(xtable)
>> response <- as.data.frame(matrix(NA, 2, 2))
>> colnames(response) <- c("Anzahl", "Prozent")
>> rownames(response) <- c("gesamte R�cksendungen (brutto)  ",
>>                         "auswertbare Frageb�gen (netto)  ")
>> response[[1, 1]] <- 1
>> response[[1, 2]] <- 2.0
>> response[[2, 1]] <- 3
>> response[[2, 2]] <- 4.0
>>
>> response_table <- xtable(
>>   response,
>>   caption = "R�cklauf und R�cklaufquote",
>>   label = "Responsequote",
>>   display = c("s","d","f"),
>>   digits = 1,
>>   align = c("l", "c", "c") #  auto = TRUE
>>   )
>>
>> print.xtable(
>>   response_table,
>>   type = "html",
>>   caption.placement = "top",
>>   format.args = list(
>>     big.mark = ".",
>>     decimal.mark = ","),
>>   size = 500,
>>   width = 100)
>> ```
>>
>> and would like to control the width of the columns. But columns width is
>> always aligned to the content.
>>
>> Is there a way to give the columns width, e.g. 25 characters, for all
>> columns or for each column separately to get more spacing for the text and
>> the borders of the table?
>>
>> Kind regards
>>
>> Georg
>>
>>                  [[alternative HTML version deleted]]
>>
>>
>>
>> ______________________________________________
>> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
>> https://stat.ethz.ch/mailman/listinfo/r-help
>> PLEASE do read the posting guide
> http://www.R-project.org/posting-guide.html
> <http://www.r-project.org/posting-guide.html>
>> and provide commented, minimal, self-contained, reproducible code.
>>
>
> --
> Michael
> http://www.dewey.myzen.co.uk/home.html
>

-- 
Michael
http://www.dewey.myzen.co.uk/home.html



More information about the R-help mailing list