the best solution I've seen so far is that R charts work together with Office (Word, Powerpoint) to export directly to Powerpoint using ReporteRs , as in
library( ReporteRs ) require( ggplot2 ) mydoc = pptx( ) mydoc = addSlide( mydoc, slide.layout = "Title and Content" ) mydoc = addTitle( mydoc, "Plot examples" ) myplot = qplot(Sepal.Length, Petal.Length , data = iris, color = Species , size = Petal.Width, alpha = I(0.7) ) mydoc = addPlot( mydoc, function( ) print( myplot ), vector.graphic=TRUE) writeDoc( mydoc, file = "test plot.pptx" )

This results in a fully editable, high-power Powerpoint graphic in Office-based native DrawingML format, which you can also easily copy and paste as an extended metafile if you want, and which, unlike EMFs exported from R, also fully supports transparency.
For a simple base line R, the syntax will be
library( ReporteRs ) mydoc = pptx( ) mydoc = addSlide( mydoc, slide.layout = "Title and Content" ) mydoc = addTitle( mydoc, "" ) myplot = function( ) {return(plot(c(1:100), c(1:100), pch=20))} mydoc = addPlot( mydoc, fun=myplot, vector.graphic=TRUE, offx=0,offy=0,width=12, height=8, fontname="Calibri", pointsize=20) writeDoc( mydoc, file = "test plot2.pptx" )

basic R-graphics, lattice graphics and ggplots are supported.
EDIT: now I made a small export package with graph2ppt and graph2doc helper functions to export the current active graph for Powerpoint or Word, as well as table2doc , table2ppt and table2html to export the previously specified R-statistics object to a Word, Powerpoint or HTML table, for example
install.packages("rJava") install.packages("ReporteRs") install.packages("ReporteRsjars") install.packages("ggplot2") install.packages("rtable") install.packages("xtable") install.packages("taRifx") install.packages("devtools") library(devtools) devtools::install_github('tomwenseleers/export2office',local=F) library(export) ?graph2ppt ?table2doc ## export of ggplot2 plot library(ggplot2) qplot(Sepal.Length, Petal.Length, data = iris, color = Species, size = Petal.Width, alpha = I(0.7)) graph2ppt(file="ggplot2 plot.pptx", aspectr=1.7) # add 2nd slide with same graph in different aspect ratio graph2ppt(file="ggplot2 plot.pptx", aspectr=1.3, append=T) # add 3d slide with same graph with fixed width & height graph2ppt(file="ggplot2 plot.pptx", width=6, height=5, append=T) # export of aov Anova output fit=aov(yield ~ block + N * P + K, npk) summary(fit) table2doc(file="table_aov.docx") summary(fit) table2doc(file="table_aov.docx",append=T,digits=4) summary(fit) table2doc(file="table_aov.docx",append=T,digits=4,digitspvals=1) summary(fit) table2html(file="table_aov.html")
If anyone finds any errors, let me know!