Создание отчетов в R
- VistaSV30
- Активный участник
- Сообщения: 185
- Зарегистрирован: 02 июл 2018, 15:05
- Репутация: 7
- Откуда: Балашиха
Создание отчетов в R
Добрый день!
Хочу попробовать сделать проект текста отчета в формате читаемом Microsoft Word.
Нашел информацию, что это делается средствами пакетов rtf или docxtools.
Раньше я подобное уже делал, по схеме SQL -> Excel -> Word.
Интересно попробовать SQL -> R -> Word.
Предполагаемая структура документа:
Заголовок 1
Заголовок 2
Текст абзаца
Диаграмма
Таблица
...
и т.д.
С текстом абзацев, таблицами и диаграммами вроде бы получается сделать средствами rtf с остальным пытаюсь разобраться.
Из самого необходимого пока не получается сделать отступы в первой строке абзаца.
Поделитесь опытом, советами.
Заранее благодарен!
Хочу попробовать сделать проект текста отчета в формате читаемом Microsoft Word.
Нашел информацию, что это делается средствами пакетов rtf или docxtools.
Раньше я подобное уже делал, по схеме SQL -> Excel -> Word.
Интересно попробовать SQL -> R -> Word.
Предполагаемая структура документа:
Заголовок 1
Заголовок 2
Текст абзаца
Диаграмма
Таблица
...
и т.д.
С текстом абзацев, таблицами и диаграммами вроде бы получается сделать средствами rtf с остальным пытаюсь разобраться.
Из самого необходимого пока не получается сделать отступы в первой строке абзаца.
Поделитесь опытом, советами.
Заранее благодарен!
Последний раз редактировалось VistaSV30 09 июл 2020, 17:10, всего редактировалось 2 раза.
Природа не просто эксцентричнее, чем мы полагаем - она эксцентричнее, чем мы способны предположить. John Haldane
-
- Гуру
- Сообщения: 4056
- Зарегистрирован: 15 окт 2010, 08:33
- Репутация: 1054
- Ваше звание: программист
- Откуда: Казань
Re: Создание отчетов в R
Последний раз редактировалось gamm 09 июл 2020, 17:33, всего редактировалось 1 раз.
- VistaSV30
- Активный участник
- Сообщения: 185
- Зарегистрирован: 02 июл 2018, 15:05
- Репутация: 7
- Откуда: Балашиха
Re: Создание отчетов в R
Природа не просто эксцентричнее, чем мы полагаем - она эксцентричнее, чем мы способны предположить. John Haldane
- antonv
- Активный участник
- Сообщения: 229
- Зарегистрирован: 29 ноя 2016, 10:44
- Репутация: 114
- Откуда: Санкт-Петербург
Re: Создание отчетов в R
VistaSV30, это gamm вам так недвусмысленно намекает, что набрав в гугле что-то вроде "r export to word document" вы можете найти желаемую информацию гораздо быстрее.
- VistaSV30
- Активный участник
- Сообщения: 185
- Зарегистрирован: 02 июл 2018, 15:05
- Репутация: 7
- Откуда: Балашиха
Re: Создание отчетов в R
понятно! "Учи матчасть"!
Мне пока только не удается сделать стиль для абзаца, чтоб потом в Word можно было по всему документу эти абзацы отформатировать.
С остальным вроде разобрался.
Большинство статей в интернете описывают работу с функциями пакета ReporteRs. А он в 2018 году был исключен из CRAN, а версии ReporteRs, которые нашел в архиве CRAN не поддерживаются R 3.6.3
Мне пока только не удается сделать стиль для абзаца, чтоб потом в Word можно было по всему документу эти абзацы отформатировать.
С остальным вроде разобрался.
Большинство статей в интернете описывают работу с функциями пакета ReporteRs. А он в 2018 году был исключен из CRAN, а версии ReporteRs, которые нашел в архиве CRAN не поддерживаются R 3.6.3
Природа не просто эксцентричнее, чем мы полагаем - она эксцентричнее, чем мы способны предположить. John Haldane
-
- Гуру
- Сообщения: 4056
- Зарегистрирован: 15 окт 2010, 08:33
- Репутация: 1054
- Ваше звание: программист
- Откуда: Казань
Re: Создание отчетов в R
это не пакет - ошибся с тэгами, прошу пардону. Поправил в сообщении, это https://rmarkdown.rstudio.com/
но это как ggplot, тоже для мазохистов, я его так и не победил. Оказалось проще вставлять картинки и вывод программ в текст в Word.
-
- Интересующийся
- Сообщения: 25
- Зарегистрирован: 07 фев 2012, 12:00
- Репутация: 20
Re: Создание отчетов в R
Rmarkdown.
Создаете файл "res1.Rmd" в UTF-8 с содержимым:
2. Из R CLI/GIU:
3. На выходе "ref1.docx". Копируете или переименовывайте в "res1-ref.docx". Открываете в офисе, в стиле "Body text" делаете отступ. Сохраняете.
4. Возвращаетесь к "res1.Rmd". Меняете "reference_docx: ~" на reference_docx: "res1-ref.docx"
5. Из R CLI/GIU:
Можете сразу к шагам 4-5, если есть шаблон с нужными стилями.
Создаете файл "res1.Rmd" в UTF-8 с содержимым:
Код: Выделить всё
---
output:
word_document:
reference_docx: ~
---
# Заголовок 1
## Заголовок 2
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quamquam tu hanc copiosiorem etiam soles dicere. Aliter autem vobis placet. Res enim concurrent contrariae. Num quid tale Democritus? An eiusdem modi? Suo genere perveniant ad extremum;
```{r, echo=FALSE}
pie(c(Sky = 78, "Sunny side of pyramid" = 17, "Shady side of pyramid" = 5),
init.angle = 315, col = c("deepskyblue", "yellow", "yellow3"), border = FALSE)
```
```{r, echo=FALSE}
knitr::kable(head(mtcars))
```
Код: Выделить всё
rmarkdown::render("res1.Rmd")
4. Возвращаетесь к "res1.Rmd". Меняете "reference_docx: ~" на reference_docx: "res1-ref.docx"
Код: Выделить всё
---
output:
word_document:
reference_docx: res1-ref.docx
---
Код: Выделить всё
rmarkdown::render("res1.Rmd")
- VistaSV30
- Активный участник
- Сообщения: 185
- Зарегистрирован: 02 июл 2018, 15:05
- Репутация: 7
- Откуда: Балашиха
Re: Создание отчетов в R
Решил пока делать файл Word средствами пакета rtf, а окончательное форматирование выполнять в Word
Код: Выделить всё
# Создание файла отчета в формате Word
library(rtf)
output <- "Report.doc" # Открыть файл "Report.doc" в рабочей директории
rtf <- RTF(output, font.size = 14) # font.size – размер шрифта документа
addParagraph(rtf, "\\bЗаголовок\\b0") #Заголовок выделен жирным шрифтом
addParagraph(rtf, "Текст первого параграфа")
addParagraph(rtf, "Текст второго параграфа")
# Таблица
tab <- table(iris$Species,floor(iris$Sepal.Length))
names(dimnames(tab)) <- c("Species","Sepal Length")
addParagraph(rtf, "Таблица N - Образец таблицы")
addTable(rtf, tab, font.size = 12, row.names = TRUE, NA.string = "-",
col.widths = c(1, rep(0.5, 4)) )
# Диаграмма
addPlot(rtf,plot.fun=plot,width=6,height=6,res=300, iris[,1],iris[,2])
addParagraph(rtf, "Рис.Базовая графика")
# Диаграмма ggplot2
library(ggplot2)
mt <- ggplot(mtcars, aes(mpg, wt, colour = factor(cyl))) + geom_point()
print(mt)
addPlot(rtf, plot.fun = print, width = 5,height = 4, res = 300, mt)
addParagraph(rtf, "Рис.Диаграмма ggplot2")
done(rtf) # Запись текста в файл "Report.doc"
Природа не просто эксцентричнее, чем мы полагаем - она эксцентричнее, чем мы способны предположить. John Haldane
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 29 гостей