目前,我的工作流程是我在R中进行统计和数据重组,并使用Libre Office(LO)Writer编写我的文档。 R中的分析结果通常是表格,我需要将这些结果放入LO Writer中。我还没有找到一种方法直接以简单的方式做到这一点,所以我通常做的是:1)将表放在R中,2)导出表为.csv,3)在LO Calc中打开.csv,4)使用特殊的粘贴作为RTF从LO Calc复制到LO编写器。
保存到.csv时,我使用write.csv(table_1, "table_1.csv", na = "")
执行此操作。这导致额外的步骤,因为LO Calc需要知道如何读取.csv文件。或者,可以install one of the packages输出.ods或.xls(x)。
这样做的一个问题是,这经常导致文件中的十进制数非常长,例如2.21931,而一个人通常只想在文档中显示2或3位数。我找到了两种解决这种烦恼的方法。
第一种是使用例如对R中的数字进行舍入。 round(table_1, 2)
然后使用上面的命令保存。这个问题是,当一个人将其导入LO Calc时,.60之类的数字将变为.6,失去一个(冗余)数字。这使得呈现有些不一致。可以将它们添加回文档的表格中,也可以使用LO Calc中的舍入函数。
第二种是在Libre Office Calc中使用舍入功能,但这需要一些额外的工作/更多的工作。
最后,当像这样进入LO Writer的重要表时,该表将具有不可见的边框。必须为每个表手动添加这些。
将结果表从R转换为LO Writer的最佳方法是什么,同时避免有效数字问题和额外点击?
答案 0 :(得分:2)
尝试使用R
等功能在sprintf()
中进行格式化。
这是我发现控制数字显示的最佳方式。
下面的网址有很好的工作示例。
http://www.cookbook-r.com/Strings/Creating_strings_from_variables/
另外,请考虑knitr
包来动态创建文档。
答案 1 :(得分:1)