R语言使用flextable包将输出结果导入word,并设置默认输出三位小数

最近因为有把输出结果导出到word的需求,看到了这篇文章
如何优雅地将你的R统计结果输出到Word?
但是当我加载”library(flextable)”时一直报下面的错误
Error: package or namespace load failed for 'flextable' in loadNamespace(j <- i[[1L]], c(lib.loc, .libPaths()), versionCheck = vI[[j]]): namespace 'xfun' 0.38 is already loaded, but >= 0.39 is required Traceback:

我以为install.packages("xfun")就能更新这个包从而解决这个问题,更新的时候显示“permission denied”,然后我以管理员身份运行还是不行

最后在找到了这个答案先remove在install

remove.packages("xfun") 
install.packages("xfun")
#或者install_version("xfun", version = "0.39",repos = "http://cran.us.r-project.org")

以数据iris(好像是自带的数据,不需要加载其他包,或者自己随便建一个数据框试试)为例

library(xtable)
library(flextable)
library(officer)
m4 = as_flextable(xtable(iris))
doc = read_docx()
doc = body_add_flextable(doc,m4)
print(doc,"./m4.docx")

导出结果如下
在这里插入图片描述
我把他编写为一个函数,设置默认输出三位小数

set_flextable_defaults(digits = 3)#这里设置默认输出三位小数
word<-function(x){
    
    
    m4 = as_flextable(xtable(x)
    print(m4)
    doc = read_docx()
    doc = body_add_flextable(doc,m4)
    print(doc,"./m4.docx")
}

输出结果如下:
还是挺满意的

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_54423921/article/details/131020558