R 通过调用<&书信电报;绘制此图>>;?

R 通过调用<&书信电报;绘制此图>>;?,r,knitr,r-markdown,R,Knitr,R Markdown,我正试图找出2016年美国总统选举的STAN模型是如何使用rmarkdown生成的: 我已经查看了上的源代码,其中包含以下行: # Electoral College ```{r echo=FALSE, message=FALSE, fig.align='center'} <<plot_ev>> ``` 这是如何工作的?我的猜测:未记录的和旧的swave语法的关联。我不明白的是,当您可以将它包装在一个返回绘图的普通函数中时,为什么有必要使用它?代码外部化是为了提

我正试图找出2016年美国总统选举的STAN模型是如何使用
rmarkdown
生成的:

我已经查看了上的源代码,其中包含以下行:

# Electoral College 

```{r echo=FALSE, message=FALSE, fig.align='center'}
<<plot_ev>>
```

这是如何工作的?

我的猜测:未记录的和旧的swave语法的关联。我不明白的是,当您可以将它包装在一个返回绘图的普通函数中时,为什么有必要使用它?代码外部化是为了提供稍微不同的工作流的灵活性。将代码放在一个单独的自包含的R文件中对于一步一步地运行代码是很有用的,这通常在不使用函数包装的情况下更容易实现。当然,你也可以这么做。我不能为这个特殊的例子说话(我认为< 语法现在是完全正确的),但另一个要考虑的是,每个块可以返回多个图,返回多行代码、结果等。如果单个函数调用为块体,这将是更难的。不,它不是外部化,但是块引用相反:关键是重用代码块。
# Not accounting for the EV allocation rules of Nebraska and Maine

# @knitr plot_ev

ggplot() + 
    geom_histogram(data = data.frame(ev = result_ev_all_states), aes(ev, fill = ifelse(ev >= 270,"Clinton","Trump")), binwidth = 1) + 
    scale_fill_manual(values=c("#6E90F8", "#FF6666"), guide = guide_legend(title = "Winner")) +
    xlab("Electoral Votes for Clinton") + 
    theme(axis.ticks.y = element_blank(), axis.text.y = element_blank(), axis.line.y = element_blank(), axis.title.y = element_blank()) +
    ggtitle(paste("EV distribution - Pr(Clinton wins) = ", round(mean(result_ev_all_states >= 270)*100, 0), "%", sep = ""))