2017-01-23 3 views
11

私は以下のようにRマークダウンを作成しようとしています。ベクトルと呼ばれるアプリでは、私はいくつかのアプリケーションを持っています、しかし行くとpdfファイルRマークダウンでサブセクションを作成する方法

--- 
title: "Java Based Apps" 
date: "January 13, 2017" 
output: 
    pdf_document: 
    number_sections: yes 
    toc: true 
    highlight: zenburn 
    fig_width: 7 
    fig_height: 6 
    fig_caption: true 

tables: yes 
keep_tex: true 
fontsize: 12 
--- 



```{r message=FALSE, results = 'asis', echo=FALSE, warning=FALSE} 

app<-c("Sample APP") 

for (i in app){ 

    cat(paste("## ", "- Correlation Analysis between performance KPI's")) 
    cat("\n") 
    m<-corrplot(M, method="number") 

    cat(paste("## ", "- JVM %CPU Usage")) 
    cat("\n") 

    print(ggplot(data, aes(Date, JVM_CPU, group=JVM))+geom_point()+geom_smooth(method="lm",se=F)+theme_bw()+ 
    ggtitle(paste(i, " - JVM %CPU Usage/15 Minute Interval"))+facet_wrap(~JVM, scale="free")) 

    cat(paste("## ", "- JVM Heap Usage")) 
    cat("\n") 

    print(ggplot(data, aes(Date, JVM_Mem, group=JVM))+geom_point()+geom_smooth(method="lm",se=F)+theme_bw()+ 
    ggtitle(paste(i, " - JVM Memory Usage/15 Minute Interval"))+facet_wrap(~JVM, scale="free")+ylab("Memory Usage/MG")) 

} 
``` 
を作成します

出力は次のようにする必要があります:

Sample App 
    - Correlation Analysis between performance KPI's 
    - JVM %CPU Usage 
    - JVM Heap Usage 

など

私は見ていますこれは、

Sample App 
    - Correlation Analysis between performance KPI's 

ですが、他はサブセクションとして作成されていません。私がここで間違っていることは何ですか?

+1

これは奇妙です。プロットを削除すると、3つのセクションが意図したとおりに機能します。間に何かを追加すると、セクションは機能しなくなります。 –

答えて

5

問題をより簡単に分けてください。私はいくつかの偽のデータを作成しました。あなたがここで私はapp_template.Rmdと呼ばれ、このようになりしたテンプレートを反復処理するような


title: "Java Based Apps" 
date: "January 13, 2017" 
output: 
    pdf_document: 
    number_sections: yes 
    toc: true 
    highlight: zenburn 
    fig_width: 7 
    fig_height: 6 
    fig_caption: true 
tables: yes 
keep_tex: true 
fontsize: 12 
--- 

```{r setup, include=FALSE} 
knitr::opts_chunk$set(echo = F, message = F, warning = F) 
library(tibble) 
library(lubridate) 
library(dplyr) 
library(corrplot) 
library(ggplot2) 
library(knitr) 
# Create some sample data 
set.seed(2887) 
data <- tibble(
    app = sort(rep(c("sample app", "sample app 2"), 500)) 
    , Date = rep(seq(now() - as.difftime(7, unit="days"), now(), length.out = 500), 2) 
    , JVM = sample(c("a", "b", "c"), size = 1000, replace = T) 
    , JVM_CPU = runif(1000, 0, 100) 
    , JVM_Mem = runif(1000, 0, 100) 
) 
``` 

```{r} 
app <- sort(unique(data$app)) 

out <- NULL 
for (i in app){ 
    data.filtered <- dplyr::filter(data, app == i) 
    out <- c(out, knit_child('app_template.Rmd', quiet = TRUE)) 
} 
``` 

`r paste(out, collapse='\n')` 

(それが何を持っていることがわかりません:あなたは、次のようなforループを実行main.Rmdを持つことができます

yaml

\pagebreak 

# `r i` 

## Correlation Analysis between performance KPI's 

```{r, fig.width=5, fig.height=5} 
m <- matrix(rnorm(1000), ncol = 10) 
M <- cor(m) 
corrplot(M, method="number") 
``` 

## JVM %CPU Usage 

```{r, fig.width=10, fig.height=5} 
ggplot(data.filtered, aes(Date, JVM_CPU, group=JVM)) + 
    geom_point() + 
    geom_smooth(method = "lm", se = F) + 
    theme_bw() + 
    ggtitle(paste(i, " - JVM %CPU Usage/15 Minute Interval")) + 
    facet_wrap(~ JVM, scale = "free") 
``` 

## JVM Heap Usage 

```{r, fig.width=10, fig.height=5} 
ggplot(data.filtered, aes(Date, JVM_Mem, group = JVM)) + 
    geom_point() + 
    geom_smooth(method = "lm", se = F) + 
    theme_bw() + 
    ggtitle(paste(i, " - JVM Memory Usage/15 Minute Interval")) + 
    facet_wrap(~ JVM, scale = "free") + 
    ylab("Memory Usage/MG") 
``` 

あなたはknit場合main.Rmdあなたがすべきあなたの仕様で.pdfを入手してください。

+0

コマンドラインから.pdfファイルを生成するために.Rmdファイルを編成する方法を教えてください。 – user1471980

+0

'R -e"を実行するrmarkdown :: render( 'main.Rmd') "' – animalito

8

各プロット後にcat("\n\n")を追加してスペースを追加します。これは##の作業が適切にサブセクションを分離するのを助けるはずです。

+0

OK、チャートは表示されますが、順番に表示されます。私はそれらをセクションで表示したい。たとえば、JVM Cpu見出しの後には、JVMヒープ使用見出し、JVMヒープ使用チャートなどの後にjvm cpuチャートがあるはずです。ここで何が起こっているのでしょうか? – user1471980

+0

修正コードを掲載しますか?虹彩データを使って私自身の3つのグラフをテストしたところ(再現可能な例は提供していませんでしたが)、サブセクションごとに1つのグラフを取得するのに問題はありませんでした。 –

+1

"グラフが表示されますが、順番に表示されます"これはラテックスの浮動図形のためかもしれませんが、Figureのサイズを小さくし、各プロットの後に '\ pagebreak ' –

関連する問題