我想知道如何将R图重定向到MS Word?像sink()一样,将R输出重定向到任何文件,但不重定向到图形。我尝试了R2Wd,但有时无法正常工作。任何意见和帮助将不胜感激。谢谢

最佳答案

要回答您的直接问题,将R脚本和情节的结果转化为单词的最佳方法可能是通过某种形式的Sweave。查找odfweave以将R输出发送到LibreOffice文件,然后可以将其转换为word,或者如果您具有正确的插件,甚至可以直接在Word中打开。

要创建可编辑的图(即,您可以更改图的外观,移动图例等),我建议将图保存为svg格式(可缩放矢量图形),然后可以使用出色的免费矢量图形应用inkscape进行编辑。

例如,如果我将ggplot2图创建为对象

library(ggplot2)
dataframe<-data.frame(fac=factor(c(1:4)),data1=rnorm(400,100,sd=15))
dataframe$data2<-dataframe$data1*c(0.25,0.5,0.75,1)
testplot<-qplot(x=fac, y=data2,data=dataframe, colour=fac, geom=c("boxplot", "jitter"))

您可以使用Cairo包,该包允许创建svg文件,然后我可以在Inkscape中对其进行编辑。
library(Cairo)
Cairo(600,600,file="testplot.svg",type="svg",bg="transparent",pointsize=8, units="px",dpi=400)
testplot
dev.off()
Cairo(1200,1200,file="testplot12200.png",type="png",bg="transparent",pointsize=12, units="px",dpi=200)
testplot
dev.off()

有关更多信息,请阅读此先前的问题,它有更多好的答案Create Editable plots from R

另外,您可以遵循Hadley的建议,保存实际的ggplot2对象,然后稍后加载并修改它
save(testplot, file = "test-plot.rdata")
# Time passes and you start a new R session
load("test-plot.rdata")
testplot + opts(legend.position = "none")
testplot + geom_point()

关于将R图重定向到MS Word,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7212599/

10-14 03:03