Создание нескольких отчетов из Markdown и Sweave - PullRequest
0 голосов
/ 15 октября 2018

Я пытался составить несколько отчетов из набора данных о диагностических мерах отдельных студентов, следуя рекомендациям, приведенным здесь .Я должен признать, что я использую эту процедуру впервые;поэтому вполне возможно, что есть очень элементарные ошибки.В любом случае я создал два файла (один .Rmd и один .Rnw) и использовал цикл for в файле .Rnw для ввода различных данных для каждого отчета.

Вот мой файл R Markdown.

library(dplyr)
library(tidyr)
library(magrittr)
library(plyr)
library(knitr)
library(openxlsx)
library(xtable)
library(kableExtra)
library(brew)

xx <- "Student Category Sensitivity Specificity Accuracy
1      A        D       0.000       1.000    0.966
2      A       DB       0.925       0.892    0.907
3      A        E       0.784       0.636    0.729
4      B        D       0.500       0.991    0.975
5      B       DB       0.528       0.969    0.771
6      B        E       0.932       0.636    0.822"

dz <- read.table(text = xx, header = TRUE)

for(cd in unique(dz$Student)){

  knit2pdf("Multiple_reports.Rnw", output = paste0('report_', cd, '.tex'))

  }

А вот и мой файл .Rnw.

\documentclass{article}
\usepackage{fullpage}
\usepackage{booktabs}
\usepackage{caption}
\usepackage{longtable}
\usepackage{array}
\usepackage{multirow}
\usepackage{wrapfig}
\usepackage{float}
\usepackage{colortbl}
\usepackage{pdflscape}
\usepackage{tabu}
\usepackage{threeparttable}
\usepackage{titlesec}
\usepackage{xcolor}
\usepackage{framed}

\begin{document}
\captionsetup{justification = raggedright, singlelinecheck = false}

\title{Individual Report\vspace{-5ex}
}
%\author{}
\date{}
\maketitle

\noindent
This report contains a brief explanation of some diagnostic accuracy measures.

<<loaddata, echo=FALSE,cache = TRUE, autodep = TRUE, cache.comments = FALSE,message = FALSE, warning = FALSE>>=

for(cd in unique(dz$Student)){
    subgroup <- dz %>% dplyr::filter(Student == cd)
    subgroup %>% 
      dplyr::select(-Student) %>% 
      mutate(Sensitivity = cell_spec(Sensitivity, "latex", color = ifelse(Sensitivity > .90, "black", "red"), align = "r"),
         Specificity = cell_spec(Specificity, "latex", color = ifelse(Specificity > .90, "black", "red"), align = "r"),
         Accuracy = cell_spec(Accuracy, "latex", color = ifelse(Accuracy > .90, "black", "red"), align = "r")) %>%
      knitr::kable(., caption = "Results", "latex", booktabs = T, escape = F) %>%
      kable_styling(full_width = T) %>%
      footnote(., "D = Disrespectful; DB = Disruptive Behavior; E = Engagement; P = Prompts") %>% 
      column_spec(1, width = "8cm")
}
@

\end{document}

К сожалению, когда я запускаю файл R MArkdown, создается несколько отчетов, но таблица с отдельными данными не отображается.Я не могу понять, была ли моя ошибка в цикле for или в процедуре, которая использует Markdown и Sweave вместе.

Спасибо за любую помощь!

...