我有一个R闪亮的代码,可以制作各种报告、词云、情感分析和其他各种内容。现在我想通过点击一个按钮,在一次下载中将生成的所有这些报告附加到ppt中。例如,它应该像这样:
幻灯片1:词云
幻灯片2:情感分析
幻灯片3:报告1 ...等等
迄今为止,我可以单独下载所有这些报告,即我的Shiny UI中有不同的选项卡,每个报告都有一个“下载”按钮,点击后使用downloadHandler进行下载。
此外,我也可以在一个单击中将所有这些报告下载到一个pdf中,即在一页上有报告1等等。
迄今为止,我已经达到了以下程度:
使用选项
幻灯片1:词云
幻灯片2:情感分析
幻灯片3:报告1 ...等等
迄今为止,我可以单独下载所有这些报告,即我的Shiny UI中有不同的选项卡,每个报告都有一个“下载”按钮,点击后使用downloadHandler进行下载。
此外,我也可以在一个单击中将所有这些报告下载到一个pdf中,即在一页上有报告1等等。
迄今为止,我已经达到了以下程度:
#downloadReport is my action button
#on click of this button I am expecting the ppt. to be downloaded
observeEvent(input$downloadReport, {
# Create a PowerPoint document
doc = pptx( )
# Slide 1 : Title slide
#+++++++++++++++++++++++
doc <- addSlide(doc, "Title Slide")
doc <- addTitle(doc,"Create a PowerPoint document from R software")
doc <- addSubtitle(doc, "R and ReporteRs package")
# Slide 2 : Add Word Cloud
#+++++++++++++++++++++++
doc <- addSlide(doc, "Title and Content")
doc <- addTitle(doc, "Bar Plot")
newData=rawInputData(); # Function which captures data (.csv file) when I have input it through R shiny
words_list = strsplit(as.character(newData$CONTENT), " ") #CONTENT is the column which contains the test data
words_per_tweet = sapply(words_list, length)
pptwordcloud<-barplot(table(words_per_tweet), border=NA,main="Distribution of words per tweet", cex.main=1,col="darkcyan")
#pptwordcloud<-barplot(table(words_per_tweet), col="darkcyan")
doc <- addPlot(doc, fun= print, x = pptwordcloud,vector.graphic =FALSE )
writeDoc(doc,'file1.pptx')
})
使用选项
vector.graphic =FALSE
生成的ppt文件中看不到条形图。如果我删除此选项,将会出现以下错误:
请问是否有人能指出我的错误所在?警告:观察器中出现未处理的错误: javax.xml.bind.UnmarshalException - 带有链接异常:[org.xml.sax.SAXParseException:文档中根元素之前的标记必须格式良好。] observeEvent(input$downloadReport)
data(crude) tdm <- TermDocumentMatrix(crude) m<-as.matrix(tdm); word.freq<-sort(rowSums(m),decreasing=TRUE); minimum=4 p<-wordcloud(words=names(word.freq),freq=word.freq,min.freq=minimum,random.order=FALSE,colors=brewer.pal(8, "Dark2"),main="Title") p
)。因此,也许更好的方法是在函数中将图形保存为png,然后添加图像? - Batanichek