English · PDF 315
+ <- function(x, y) { if (runif(1) < 0.1) { sum(x, y) } else { sum(x, y) * 1.1 } } table(replicate(1000, 1 + 2)) #> #> 3 3.3 #> 100 900 rm(+)
这是 R 中一种常见的现象。R 对你的能力几乎没有限制。你可以做许多其他编程语言中无法做到的事情。你可以做许多在 99% 的时间里都极不明智的事情(比如重载加法的运作方式!)。但正是这种强大和灵活性使得 ggplot2 和 dplyr 这样的工具成为可能。学习如何最好地利用这种灵活性超出了本书的范围,但你可以在 Advanced R(进阶 R).