When printing a table with pander I obtain an error message Error in pandoc.table.return(...) : Wrong number of parameters (76 instead of *4*) passed: justify
that I can't understand.
a <- table(mtcars$mpg, mtcars$cyl)
pander(a)
Traceback:
6. stop(sprintf("Wrong number of parameters (%s instead of *%s*) passed: justify", length(justify), length(t.width)))
5. pandoc.table.return(...)
4. cat(pandoc.table.return(...))
3. pandoc.table(x, caption = caption, ...)
2. pander.table(a)
1. pander(a)
What am I doing false? My goal is to print the table in the table format (values of variable 1 as row names, values of variable 2 as column names), and not as it is if I convert the table into a dataframe (values of variable 1 in column 1, values of variable 2 in column 2, frequency in column 3). I know it would work with print
, but I would like to have the pander layout because all my other tables (from data frame format) are printed with pander.
I realised I had forgotten but I had that at some place:
panderOptions('table.alignment.default',
function(df) ifelse(sapply(df, is.numeric), 'right', 'left'))
Replacing it with:
panderOptions('table.alignment.default',
function(df) ifelse(sapply(as.data.frame(df), is.numeric), 'right', 'left'))
works fine.
Thanks @daroczig for finding that.