Diferencia entre <- y << - [duplicado]

Esta pregunta ya tiene una respuesta aquí:

¿Cómo se usa "<< -" (asignación de alcance) en R? 6 respuestas

CASO 1:

rm(list = ls())
foo <- function(x = 6){
  set <- function(){
  x <- x*x}
  set()
x}
foo()
# [1] 6

CASO 2:

rm(list = ls())
foo <- function(x = 6){
set <- function(){
  x <<- x*x}
  set()
  x}
foo()
# [1] 36

yo lei eso<<- El operador se puede utilizar para asignar un valor a un objeto en un entorno que es diferente del entorno actual. Dice que la inicialización de objetos usando<<- se puede hacer a los objetos que no están en el entorno actual. Quiero preguntar qué objeto del entorno se puede inicializar usando<<- . En mi caso el ambiente es ambiente defoo función, puede<<-inicializar los objetos fuera de la función o el objeto en el entorno actual? Totalmente confundido cuando usar<- y cuando usar<<-.

Respuestas a la pregunta(2)

Su respuesta a la pregunta