Используйте R и Latex для автоматизации отчетов Powerpoint - PullRequest
4 голосов
/ 20 октября 2011

У меня есть шаблон отчета, которым я пользуюсь довольно часто.Анализ завершен в R, но на данный момент мой рабочий процесс:

  1. Используйте R для запуска анализа и экспорта результатов в CSV-файлы
  2. Используйте макросы Excel для чтения вданные, манипулирование диаграммами / создание таблиц
  3. Опять используя Excel, «автоматизируйте» диаграммы / таблицы до Powerpoint

Чем больше я знаком с Latex, R и Reproducible Research,Я чувствую, что должен быть способ оставаться в R и отправлять свои результаты в Powerpoint.Я знаю, что есть пакет R2PPT, но я пытаюсь продумать все варианты.Я не думаю, что отправка изображений моих графиков будет проблемой, это скорее создание таблицы, которое поставило меня в тупик.

Любая помощь, которую вы можете предоставить, будет принята с благодарностью!К сожалению, да, мне нужно продолжать использовать PPT.

Ответы [ 6 ]

1 голос
/ 22 ноября 2011

Это решение зависит от того, можете ли вы отображать PDF-файлы там, где вы обычно используете powerpoint.

Вам понадобится:

1) LateX 2) R 3) Латексная упаковка Beamer.

Из них вам, возможно, придется искать только Beamer. Затем вы можете открыть новый латексный документ, присвоить ему тип документа beamer, а затем написать латекс и R точно так же, как и для статьи. Отправьте код R, получите результаты обратно, наберите результаты, и все готово. Я не вернулся в Powerpoint с тех пор, как узнал о Beamer.

Я вижу, что вам нужно оставаться в Powerpoint, поэтому этот совет, вероятно, бесполезен. При этом Beamer выводит в PDF, и я сделал много презентаций, где все остальные использовали powerpoint и никогда не сталкивались с проблемами

1 голос
/ 20 октября 2011

Можете ли вы автоматизировать PowerPoint от R?Т.е. запустить его, получить доступ к объектной модели и т. Д.

Если это так, вы сможете создавать таблицы непосредственно в PPT.

0 голосов
/ 04 ноября 2018

Посмотрите на мой новый пакет экспорта, который только что вышел из 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)
0 голосов
/ 05 февраля 2016

Пакет 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" )
0 голосов
/ 14 апреля 2012

Может быть, R2PPT - лучшее решение.Другой вариант, который я начинаю изучать, - это создание скрипта Visual Basic (.vbs), который открывает Powerpoint, вставляет слайды и вставляет ЭМП, сгенерированные R.

0 голосов
/ 21 октября 2011

Посмотрите на sweave и odfSweave.Вы можете создавать отчеты R в формате pdf с использованием sweave, а затем копировать / вставлять их в powerpoint или использовать odfweave для создания отчета в виде файла odt LibreOffice, затем открывать его и копировать / вставлять в powerpoint из LibreOffice.

...