`cat()` внутри оператора if()`вызывает нежелательное поведение

Используя следующий пример rmarkdown

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

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = FALSE)
```


## R Markdown

```{r}
summary(cars)

cat("banaaaaaaa")

cat("banaaaaaaa")

cat("banaaaaaaa")

```

```{r}
if(1 == 0){
print("this will not print")
}else{
summary(cars)

cat("banaaaaaaa")

cat("banaaaaaaa")

cat("banaaaaaaa")
}
```

производит PDF ниже

Как я могу получить код во втором блоке внутри if произвести те же результаты, что и фрагмент кода над ним?

1 ответ

Решение

Вы скучаете по print вводе команды. С помощью команды cat вам нужно вручную указать новую строку (\n) команда. Попробуй это:

if(1 == 0){

    print("this will not print")

} else {
    print(summary(cars))
    cat("banaaaaaaa")
    cat('\n') # just copy paste this
    cat("banaaaaaaa")
    cat('\n')
    cat("banaaaaaaa")
}

     speed           dist       
 Min.   : 4.0   Min.   :  2.00  
 1st Qu.:12.0   1st Qu.: 26.00  
 Median :15.0   Median : 36.00  
 Mean   :15.4   Mean   : 42.98  
 3rd Qu.:19.0   3rd Qu.: 56.00  
 Max.   :25.0   Max.   :120.00  
banaaaaaaa 
banaaaaaaa 
banaaaaaaa 
Другие вопросы по тегам