R utilizza lo scoping lessicale, un concetto ereditato dal linguaggio Scheme. Ciò significa che i valori delle variabili libere in una funzione vengono risolti trovandoli nell'ambiente in cui la funzione è stata definita, non in quello in cui viene chiamata. Questo rende il comportamento della funzione più prevedibile e indipendente dal contesto di chiamata, una caratteristica fondamentale per la programmazione funzionale.
