我有一个经常使用的报告模板。分析在R中完成,但目前这是我的工作流程:
我接触到的Latex,R和Reproducible Research越多,我觉得应该有一种方法留在R中并将我的结果发送给Powerpoint。我知道有R2PPT包,但我想考虑所有选项。我不认为发送我的图表的图片会是一个问题,更重要的是表格创作让我感到难过。
您将提供的任何帮助将不胜感激!不幸的是,我需要继续使用PPT。
答案 0 :(得分:1)
你能从R自动化PowerPoint吗?即,启动它,访问对象模型等?
如果是这样,您应该能够直接在PPT中创建表格。
答案 1 :(得分:1)
这是一个解决方案,条件是您可以在通常使用powerpoint的位置显示PDF。
您将需要:
1)LateX 2)R 3)Beamer乳胶包装。
其中唯一可能需要搜索的是Beamer。然后,您可以打开一个新的乳胶文档,给它文档类型beamer,然后像写一篇文章一样写下latex和R.将代码发送给R,获取结果,排版结果,然后就完成了。自从我了解了Beamer以来,我没有回到Powerpoint。
我发现你需要留在Powerpoint中,所以这个建议可能没用。话虽这么说,Beamer输出到PDF,我给了很多演示文稿,其他人都使用powerpoint并且从未遇到过问题
答案 2 :(得分:0)
看一下sweave和odfSweave。您可以使用sweave将R报告生成为pdf,然后复制/粘贴到powerpoint中,或使用odfweave将报告生成为LibreOffice odt文件,然后将其打开并从LibreOffice复制/粘贴到powerpoint中。
答案 3 :(得分:0)
也许R2PPT
是最好的解决方案。我开始探索的另一个选项是创建一个Visual Basic脚本(.vbs),它打开Powerpoint,插入幻灯片并插入由R生成的EMF。
答案 4 :(得分:0)
ReporteRs
包旨在完成此工作流程。如果您的输出可能是pdf或html,请务必考虑knitr
或slidify
,但不支持.pptx
。但这是使用ReporteRs
的示例:
library('ReporteRs')
# set default font size to 24
options( "ReporteRs-fontsize" = 24 )
doc = pptx( )
# add a slide with layout "Title Slide"
doc = addSlide( doc, slide.layout = "Title Slide" )
#set the main title
doc = addTitle( doc, "Presentation About Cars" )
# add a slide with layout "Title and Content" then add content
doc = addSlide( doc, slide.layout = "Title and Content" )
doc = addTitle( doc, "Cars dataset", level = 1 )
data(mtcars)
library('ggplot2')
car_plot <- ggplot(mtcars, aes(x=hp, y=mpg, col=cyl)) +
geom_point() + geom_smooth() +
xlab('Horsepower (Hp)') + ylab('Miles per Gallon (MpG')
doc = addPlot( doc = doc, fun=print, x = car_plot )
doc = addSlide( doc, slide.layout = "Title and Content" )
doc = addTitle( doc, "More about cars dataset", level = 1 )
doc = addParagraph(doc, paste("The correlation between Hp and MpG is",
round(with(mtcars, cor(hp, mpg)),3))
)
writeDoc( doc, file = "presentation_about_cars.pptx" )
答案 5 :(得分:0)
看看我的新导出软件包,它刚好来自CRAN,它允许将图形和统计表从R导出到Powerpoint和Word。 参见https://cran.r-project.org/web/packages/export/index.html和 https://github.com/tomwenseleers/export。
例如:
install.packages("export")
library(export)
## export of ggplot2 plot
library(ggplot2)
qplot(Sepal.Length, Petal.Length, data = iris, color = Species,
size = Petal.Width, alpha = I(0.7))
# export to Powerpoint
graph2ppt(file="ggplot2_plot.pptx", width=7, height=6)
# export to Word
graph2doc(file="ggplot2_plot.docx", width=7, height=6)
## export of aov Anova output as table
fit=aov(yield ~ block + N * P + K, npk)
x=summary(fit)
# export to Powerpoint
table2ppt(x=x,file="table_aov.pptx")
table2ppt(x=x,file="table_aov.pptx",digits=4,append=TRUE)
table2ppt(x=x,file="table_aov.pptx",digits=4,digitspvals=1,
font="Times New Roman",pointsize=16,append=TRUE)
# export to Word
table2doc(x=x)
# export to Excel
table2excel(x=x, file = "table_aov.xlsx",digits=4,digitspvals=1,
sheetName = "Anova_table", add.rownames = TRUE)
# export to Latex
table2tex(x=x)