我正在使用ReporteRs通过以下代码生成flexTable:
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有没有办法告诉flexTable如何格式化数字?具体来说,不是对所有行都应用相同的格式,而是对逐行应用有意义的格式?
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?
推荐答案我使用了 r转置数据帧.问题是将数据帧框架转换为所有元素都必须转换为字符.使用矩阵可以解决该问题:
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 )更多推荐
在FlexTable中格式化数字
发布评论