如何将已有的tinytable对象直接导出至Word文档?
关于tinytable S4对象导出为Word表格的问题及解决建议
问题说明
- 通过自定义函数得到了一个S4类的tinytable对象,名称为
VIEWTotal - 现有教程和文档里,都是针对dataframe演示
tinytable()、save_tt()等函数的用法,我没法直接用dataframe生成目标格式的表格 - 按文档要求,导出到Word需要两步:先生成markdown表格,再用Pandoc转成Word,但第一步就卡住了
实用解决建议
方法1:直接将现有tinytable对象转成markdown
tinytable包自带了转换markdown的函数,直接对S4对象用就行:
# 把markdown表格内容保存到文件 cat(tt_markdown(VIEWTotal), file = "my_table.md") # 或者直接在控制台查看markdown代码 tt_markdown(VIEWTotal)
生成md文件后,用Pandoc转成Word的命令行代码:
pandoc my_table.md -o my_table.docx
方法2:一步导出为Word(不用手动转markdown)
其实save_tt()支持直接导出Word,试试直接对VIEWTotal用这个函数:
save_tt(VIEWTotal, file = "my_table.docx")
这个函数会自动处理Pandoc转换的流程,不用你手动操作。
方法3:提取数据重新生成tinytable
如果上面两种方法都不行,先把S4对象里的表格数据提出来,再重新处理:
# 尝试用@符号提取数据(S4对象常用的访问方式) df <- VIEWTotal@data # 如果不行,用slot函数指定槽位 # df <- slot(VIEWTotal, "data") # 要是不知道数据存在哪个槽位,用str查看对象结构 str(VIEWTotal) # 用提取出的dataframe重新生成tinytable,再导出 new_tt <- tinytable(df) save_tt(new_tt, file = "my_table.docx")
内容的提问来源于stack exchange,提问作者Va Nee L. Van Vleck
相关产品推荐
相关产品推荐

