`if()` 语句中的 `cat()` 会产生不需要的行为
`cat()` inside `if()` statement produces unwanted behaviour
使用下面的例子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
中第二个块中的代码以产生与上面的代码块相同的结果?
您缺少 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
使用下面的例子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
中第二个块中的代码以产生与上面的代码块相同的结果?
您缺少 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