R 为什么要使用`<<;-`皱眉头,我怎样才能避免呢?

R 为什么要使用`<<;-`皱眉头,我怎样才能避免呢?,r,R,我继续讨论,很好奇为什么要使用你可以想到第一点 感谢您为我的代码提供了替代方案。非常感谢。你能详细说明一下Reduce函数吗?我不太清楚它的逻辑流程,即使在阅读?减少。我可以理解,您试图在Reduce中创建一个包含2个变量的函数。对于a中的所有,其中=到b减去1。接下来是一个;一个和我丢失的剩余语法Reduce也称为Fold,这是函数式编程中常用的方法。这里有一个简单的解释。另请参见,思考 ### Create dummy data frame of 10 x 10 integer matrix

我继续讨论,很好奇为什么要使用
你可以想到
第一点


感谢您为我的代码提供了替代方案。非常感谢。你能详细说明一下Reduce函数吗?我不太清楚它的逻辑流程,即使在阅读?减少。我可以理解,您试图在Reduce中创建一个包含2个变量的函数。对于
a
中的所有,其中
=
b
减去
1
。接下来是一个
;一个
和我丢失的剩余语法
Reduce
也称为
Fold
,这是函数式编程中常用的方法。这里有一个简单的解释。另请参见,思考

### 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)))
df.rescaled <- df
sapply(2:6, function(i) df.rescaled[df.rescaled == i] <<- i-1))
df.rescaled <- sapply(...)
f <- function() {
    a <- 2
    g <- function() {
        a <<- 3
    }
}
> a <- 1
> f()
> a # the global `a` is not affected
[1] 1
Reduce(function(a, b) {a[a==b] <- a[a==b]-1; a}, 2:6, df)
apply(df, c(1, 2), function(i) if(i >= 2) {i-1} else {i})
ifelse(df >= 2, df-1, df)