R utilise la portée lexicale, un concept hérité du langage Scheme. Cela signifie que les valeurs des variables libres d'une fonction sont résolues en les trouvant dans l'environnement où la fonction a été définie, et non dans celui où elle est appelée. Cela rend le comportement de la fonction plus prévisible et indépendant du contexte d'appel, une fonctionnalité clé de la programmation fonctionnelle.
