我关注了这里的讨论,并且好奇为什么在R中使用
<<-被认为不好。它会带来什么样的困惑?
我还想得到一些有关如何避免使用<<- 的提示。我经常使用以下方法。例如:
### 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)))
我想要实现的是将每个数字降低1,也就是所有的2都变成1,所有的3都变成2等等。因此,所有的n都会变成n-1。我通过以下方式实现这一点:
df.rescaled <- df
sapply(2:6, function(i) df.rescaled[df.rescaled == i] <<- i-1))
在这种情况下,我该如何避免使用<<-
?理想情况下,我希望能够将sapply结果输入到另一个变量中,类似于:
df.rescaled <- sapply(...)