有条件地执行Rnotebook中包含降价和内联代码块的单元格

时间:2019-06-18 00:37:50

标签: r rstudio r-markdown rnotebook

我正在使用R Notebook为多个人生成个性化报告。每个报告将基于同一数据集的不同子集。在报告中,我有一节专门讨论数字列表中的“最正数”,以及同一数字列表中的“最负数”。

棘手的部分是,不能保证列表中的所有数字都是正数和负数。在某些情况下,列表中的数字只会为正,而在其他情况下,列表中的数字只会为负。但希望在大多数情况下,数字将是正数和负数。

使用下面包含的数据,我想在报告中添加以下语句:

  • 最正的值是0.08774673
  • 值的最大负数是-0.07716379
  • value2的最正数是0.007699488

---
title: "Report"
output: pdf_document
---

```{r echo=FALSE}
# create some sample data
data <- structure(list(
  value = c(0.0877467265976158, 0.0470430107526882, 
            0.0379081350304372, 0.0251588983050848, -0.000220385674931101, 
            -0.00389321468298109, -0.0079051383399209, -0.0100182149362477, 
            -0.0173333333333333, -0.0198838937656, -0.0436432637571157, -0.0771637863594339), 
  value2 = c(0.00769948802859674, 0.00221304486067754, 0.00143702670148586, 
             0.000632970163925598, 4.85698457148368e-08, 1.51571205677796e-05, 
             6.24912121732874e-05, 0.000100364630508856, 0.000300444444444444, 
             0.000395369231281665, 0.00190473447137317, 0.00595424992532435)),
  class = c("tbl_df", "tbl", "data.frame"), row.names = c(NA, -12L))
```

应执行以下代码单元:

```{asis echo=max(data$value > 0)}
The most positive number for value is `r max(data$value)`
```

应执行以下代码单元:

```{asis echo=min(data$value) < 0}
The most negative number for value is `r min(data$value)`
```

应执行以下代码单元:

```{asis echo=max(data$value2 > 0)}
The most positive number for value2 is `r max(data$value2)`
```

不应执行以下代码单元:

```{asis echo=min(data$value2) < 0}
The most negative number for value2 is `r min(data$value2)`
```

1 个答案:

答案 0 :(得分:1)

这对您有用吗?


---
title: "Report"
output: pdf_document
---

```{r echo=FALSE}
# create some sample data
data <- structure(list(
value = c(0.0877467265976158, 0.0470430107526882, 
        0.0379081350304372, 0.0251588983050848, -0.000220385674931101, 
        -0.00389321468298109, -0.0079051383399209, -0.0100182149362477, 
        -0.0173333333333333, -0.0198838937656, -0.0436432637571157, -0.0771637863594339), 
value2 = c(0.00769948802859674, 0.00221304486067754, 0.00143702670148586, 
         0.000632970163925598, 4.85698457148368e-08, 1.51571205677796e-05, 
         6.24912121732874e-05, 0.000100364630508856, 0.000300444444444444, 
         0.000395369231281665, 0.00190473447137317, 0.00595424992532435)),
class = c("tbl_df", "tbl", "data.frame"), row.names = c(NA, -12L))

text <- c('* The most', 'number for')
```

应执行以下代码单元:

```{r, results = 'asis', echo = F, eval=max(data$value > 0)}
cat(text[1],'positive',text[2],'value is',max(data$value), sep=' ')
```

应执行以下代码单元:

```{r, results = 'asis', echo = F, eval=min(data$value) < 0}
cat(text[1],'negative',text[2],'value is',min(data$value), sep=' ')
```

应执行以下代码单元:

```{r, results = 'asis', echo = F, eval=max(data$value2 > 0)}
cat(text[1],'positive',text[2],'value2 is',max(data$value2), sep=' ')
```

不应执行以下代码单元:

```{r, results = 'asis',echo = F, eval=min(data$value2) < 0}
cat(text[1],'negative',text[2],'value2 is',min(data$value2), sep=' ')
```
相关问题