Ответ 1
Очень легко узнать, что R не поддерживает оптимизацию хвостовой рекурсии:
f <- function(n) {
if (n != 0) f(n-1)
}
f(100000)
# Error: evaluation nested too deeply: infinite recursion / options(expressions=)?
Если бы хвостовые вызовы были оптимизированы для переходов, то эта функция прекратилась бы без проблем.