2017-04-19 13 views
0

시작 위치를 알 수 없기 때문에 일반적인 질문이 더 많습니다. 나는 선생님이 아니지만, 이것은 그것이 관련이 있기 때문에 제가 사용할 예제입니다. 나는 이러한 보고서를 생성하기 위해 R 및 Sweave를 사용하고 있습니다.각 개체에 대한 요약 테이블과 한 페이지 보고서 생성

저는 6 개의 클래스가있는 선생님이었고 각 클래스에 대한 보고서를 생성하려고했습니다. 각 보고서는 학급의 각 학생과 현재 학년 및 이전 학년의 학년을 나열한 요약표로 시작되었습니다. 각 보고서의 다음 페이지에는 숙제, 퀴즈, 시험 등에 대한 그래프와 점수가있는 현재 학생의 1 페이지 요약이 있습니다.

나는 루프 보고서를 생성하기 위해 this answer을 사용했습니다. 많은 성공을 거두고 아마도 각 보고서를 시작하기 위해 요약 페이지를 생성하여 자신의 길을 혼란에 빠뜨릴 수 있습니다. 그러나 각 학생의 하위 보고서를 얻는 방법에 대해서는 약간 혼란 스럽습니다. 검색 할 내용이나 온라인 기사에 대한 조언을 크게 듣습니다. 또한 일반적인 질문에 대한 일반적인 조언이 있다면 크게 환영 할 것입니다.

답변

0

이 사실을 알면 누구나 주된 내용은 마스터 및 아동복 문서입니다.

classes.r

library(knitr) 
library(tidyverse) 

class_scores <- data.frame(class = as.factor(rep(1:5, 520)), 
         student = rep(letters, 100), 
         score = runif(2600, min = 50, max = 100)) 
for (i in 1:5){ 
    class_sub <- class_scores %>% 
    filter(class == i) 
    title <- paste0("class", i, ".tex") 
    knit2pdf("master_class.rnw", title) 
} 

master_class.rnw

\documentclass{article} 

\begin{document} 

Here's the report for Class \Sexpr{i} 

\clearpage 

\section{Summary} 

The Summary of the Class. 
<<master_summary, include = FALSE>>= 
    summary <- class_sub %>% 
    group_by(student) %>% 
    summarize(score = mean(score)) 
@ 

\Sexpr{kable(summary)} 

\section{Student Reports} 

Here's the section for each Student's report 

\clearpage 

<<master_loop, include = FALSE>>= 

    student_out <- NULL 

    for (let in letters) { 
    student_out <- c(student_out, knit_child("student_report.rnw")) 
    } 
@ 

\Sexpr{paste(student_out, collapse = "\n")} 

End Class Report 

\end{document} 

student_report.rnw

Here is the report for student \Sexpr{let} 

%note: don't name these code chunks! 

<<include = FALSE>>= 
    student <- class_sub %>% 
    filter(student == let) 

    p <- ggplot(student, aes(x = score)) + 
    geom_histogram() 
@ 

\Sexpr{summary(student$score)} 

<<echo = FALSE>>= 
    p 
@ 

End Student Report 

\clearpage 
: 여기에 일반적인 대답이다