Я пытался составить несколько отчетов из набора данных о диагностических мерах отдельных студентов, следуя рекомендациям, приведенным здесь .Я должен признать, что я использую эту процедуру впервые;поэтому вполне возможно, что есть очень элементарные ошибки.В любом случае я создал два файла (один .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 вместе.
Спасибо за любую помощь!