2016-11-11 2 views
1

Я работаю над проблемой, когда мне приходится печатать результаты некоторых вычислений и отправлять их по электронной почте с помощью R markdown.Отображение нескольких фреймов данных в R markdown

В коде есть несколько условий if else (около 100). Если выполняется условие Else, я хочу напечатать сгенерированный кадр данных в R markdown, чтобы он мог быть частью электронной почты, которую я пришлю ,

Обзор кода выглядит, как-часть

a <- 5 
b <- 6 

if (a > b) { 

     ## Print Data frame in R Markdown ## 

    } else if (b < a) { 

     ## Print Data frame in R Markdown ## 
    }} 

## email the whole result Doc generated by R markdown ## 

электронной почты Я могу понять, но я не могу нарезать его вниз на куски. каждый раз, когда мой R-образный скрипт не работает. любой ключ или путь вперед, пожалуйста.

+0

В коде есть несколько проблем: (I) if-condition в обоих случаях то же самое, (II) последний '}' не требуется. –

ответ

2

Я знаю, я отправил комментарий, но это решение должно работать:

--- 
title: "Untitled" 
output: pdf_document 
--- 

```{r} 
a <- 5 
b <- 6 

if (a > b) { 

     knitr::kable(mtcars[,1:2]) 

    } else if (a < b) { 

     knitr::kable(mtcars[,3:4]) 
    } 

## email the whole result Doc generated by R markdown ## 
``` 
+0

Спасибо J_F, на самом деле я должен поблагодарить вас миллионы раз, это простое решение фактически спасло 2 человека работу :) –

1

Один трюк, который я хотел бы использовать в ситуациях, как это установить параметры куска echo и eval условной отчетность. Достигает того же результата, что и J_F, но имеет более широкие приложения.

--- 
title: "Untitled" 
output: pdf_document 
--- 

```{r} 
a <- 5 
b <- 6 
``` 

```{r chunk1, echo = a>b, eval = a>b} 
knitr::kable(mtcars[,1:2]) 
``` 

```{r chunk2, echo = a<b, eval = a<b} 
knitr::kable(mtcars[,3:4]) 
``` 
## email the whole result Doc generated by R markdown ## 
``` 
Смежные вопросы