R 在Flextable中为特定列设置数字格式

R 在Flextable中为特定列设置数字格式,r,r-markdown,flextable,R,R Markdown,Flextable,我在RStudio中使用的是R版本3.6.1。我有flextable版本0.5.5和officer版本0.3.5 我在RMarkdown内的flextables中设置数字格式时遇到困难。默认情况下,所有数字都显示为3位小数。对于我的一些数字,这是很好的,实际上是首选,但对于其他数字,我想删除小数 根据发现的建议,我可以调整我的表格,使所有数字都四舍五入到最接近的整数。我的代码在下面的示例表中,用于再现性;否则,格式与我当前的代码相同 ft_test <- head(iris) %>%

我在RStudio中使用的是R版本3.6.1。我有flextable版本0.5.5和officer版本0.3.5

我在RMarkdown内的flextables中设置数字格式时遇到困难。默认情况下,所有数字都显示为3位小数。对于我的一些数字,这是很好的,实际上是首选,但对于其他数字,我想删除小数

根据发现的建议,我可以调整我的表格,使所有数字都四舍五入到最接近的整数。我的代码在下面的示例表中,用于再现性;否则,格式与我当前的代码相同

ft_test <- head(iris) %>% flextable() %>% 
    hline(part = 'header', border = fp_border(color = "black", width = 3)) %>% 
    align(align ='center', part = 'all') %>% 
    align(j = 1, align ='left', part = 'all') %>% 
    set_formatter_type(fmt_double = "%.0f")
ft_test
。。。但是我得到一个错误,告诉我j=2是一个未使用的参数

对于如何只调整某些列的数量,有什么建议吗?提前感谢您的帮助

不能使用参数j,因为它不是set\u formatter\u类型的参数。函数正在为一个或多个数据类型设置格式化程序。在您的情况下,最好使用colformat_num


您可以在此处了解有关格式化内容的更多信息:

太好了!谢谢你的帮助。看起来这个解决方案已经不起作用了。我想知道,还有没有其他解决方案可以允许按照相同的模式格式化一组列,例如,逗号后一个数字。
ft_test <- head(iris) %>% flextable() %>% 
    hline(part = 'header', border = fp_border(color = "black", width = 3)) %>% 
    align(align ='center', part = 'all') %>% 
    align(j = 1, align ='left', part = 'all') %>% 
    set_formatter_type(fmt_double = "%.0f", j = 2)
ft_test
library(flextable)
library(officer)
library(magrittr)

ft_test <- head(iris) %>% flextable() %>% 
  hline(part = 'header', border = fp_border(color = "black", width = 3)) %>% 
  align(align ='center', part = 'all') %>% 
  align(j = 1, align ='left', part = 'all') %>% 
  colformat_num(j = c("Sepal.Length", "Sepal.Width",
                             "Petal.Length", "Petal.Width"), digits = 1)
ft_test