Условно выполнить ячейки в Rnotebook, которые содержат фрагменты уценки и встроенного кода - PullRequest
1 голос
/ 18 июня 2019

Я использую Блокнот R для создания персонализированного отчета для нескольких людей. Каждый отчет будет основан на разных подмножествах одного и того же набора данных. В отчете у меня есть раздел, в котором я говорю о «самом положительном числе» в списке чисел и «самом отрицательном числе» в этом же списке чисел.

Сложность в том, что не гарантируется, что все числа в списке будут как положительными, так и отрицательными. В некоторых случаях числа в списке будут только положительными, а в других случаях числа в списке будут только отрицательными. Но, надеюсь, в большинстве случаев цифры будут как положительными, так и отрицательными.

С данными, приведенными ниже, я хочу закончить со следующими утверждениями в моем отчете:

  • Наиболее положительное число для значения составляет 0,08774673
  • Самое отрицательное значение для значения -0.07716379
  • Наиболее положительное число для значения2 равно 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 Ответ

1 голос
/ 18 июня 2019

Это работает для вас?


---
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=' ')
```
...