¿Por qué está usando `<< -` mal visto y cómo puedo evitarlo?

Seguí la discusión sobreAQU y tengo curiosidad por qué está usando<<- mal visto en R. ¿Qué tipo de confusión causará?

También me gustaría algunos consejos sobre cómo puedo evitar<<-. Yo uso lo siguiente con bastante frecuencia. Por ejemplo

### Create dummy data frame of 10 x 10 integer matrix.
### Each cell contains a number that is between 1 to 6.
df <- do.call("rbind", lapply(1:10, function(i) sample(1:6, 10, replace = TRUE)))

Lo que quiero lograr es cambiar cada número hacia abajo en 1, es decir, todos los 2 se convertirán en 1, todos los 3 se convertirán en 2, etc. Por lo tanto, todosn se convertirían-1. Lo logro por lo siguiente:

df.rescaled <- df
sapply(2:6, function(i) df.rescaled[df.rescaled == i] <<- i-1))

En este caso, ¿cómo puedo evitar<<-? Idealmente, me gustaría poder canalizar los resultados de la muestra en otra variable a lo largo de las líneas de:

df.rescaled <- sapply(...)

Respuestas a la pregunta(4)

Su respuesta a la pregunta