DataCamp Light:在练习中重用对象

时间:2019-01-04 08:14:33

标签: r-markdown

我想最大程度地减少使用 DataCamp Light 中的tutorial软件包的R-markdown文件中的冗余。想要在整个练习中重用对象似乎是合理的,但在这个小例子中却不起作用:

```{r, include=FALSE}
tutorial::go_interactive()
z = qnorm(0.99)
```

```{r ex="zQuantile_1", type="pre-exercise-code"}
z = qnorm(0.99)
```

```{r ex="zQuantile_1", type="sample-code"}
# Compute the 99% quantile of the normal distribution 
z = ___
```

```{r ex="zQuantile_1", type="solution"}
# Compute the 99% quantile of the normal distribution 
z = qnorm(0.99)
z
```

```{r ex="zQuantile_2", type="sample-code"}
# Using pnorm, verify the tail to the  right of z to be 0.01  
1-pnorm(___)
```

```{r ex="zQuantile_2", type="solution"}
# Compute the 99% quantile of the normal distribution 
1-pnorm(z)
```
  

错误:由于运行时错误而失败:未找到对象“ z”

我有什么办法可以回收在Markdown或以前的练习中全局定义的对象?

1 个答案:

答案 0 :(得分:1)

您可以使用块选项ref.label从其他块中回收代码。

根据您的情况,您可以先在第二个代码块中添加标签(在本例中为“ precode”):

{r precode, ex="zQuantile_1", type="pre-exercise-code"} 
z = qnorm(0.99)

现在,为第二个练习插入一个锻炼前的代码块,该代码块仅调用您标记的代码块:

{r ex="zQuantile_2", ref.label="precode", type="pre-exercise-code"}