我想最大程度地减少使用 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或以前的练习中全局定义的对象?
答案 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"}