I am using ReporteRs to generate a flexTable using the following piece of code:
library( ReporteRs )
baseCellProp <- cellProperties( padding = 2 )
baseParProp <- parProperties(text.align = "center")
ft.list <- list(mua= 1, mub = 2, mug = 1e-7)
ft.data <- t(data.frame(ft.list))
ft.FlexTable <- FlexTable( data = ft.data,
add.rownames = TRUE,
header.columns = FALSE,
body.cell.props = baseCellProp,
body.par.props = baseParProp)
ft.FlexTable <- setFlexTableWidths(ft.FlexTable, widths =c(1,2))
ft.FlexTable
The problem I am having is all the numbers are coming out in scientific notation like this:
mua 1e+00
mub 2e+00
mug 1e-07
Is there a way to tell flexTable how to format numbers? Specifically do not apply the same format to all the rows, but apply a format that makes sense on a row-by-row basis?
I solved my problem using a hint from r transposing a data frame. The problem was transposing a data frame frame coerces all the elements to characters. Using matrices solves that problem:
ft.list <- list(mua= 1, mub = 2, mug = 1e-7)
ft.data <- as.matrix(ft.list, rownames.force=TRUE )