在FlexTable中格式化数字 [英] Format Numbers in FlexTable

查看:110
本文介绍了在FlexTable中格式化数字的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用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?

推荐答案

我使用了

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中格式化数字的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆