相关疑难解决方法(0)

你如何在R中使用"<< - "(作用域分配)?

我刚读完R简介中的范围界定,对这项<<-任务非常好奇.

手册显示了一个(非常有趣)的例子<<-,我觉得我理解.我仍然缺少的是这可能有用的背景.

因此,我希望从您那里读到的是关于何时使用<<-可能有趣/有用的示例(或示例链接).使用它的危险可能是什么(它看起来容易松散),以及您可能想要分享的任何提示.

r scoping lexical-scope r-faq

122
推荐指数
5
解决办法
5万
查看次数

为什么使用"<< - "不赞成,我该如何避免呢?

我跟着这里的讨论,很好奇为什么<<-在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)))
Run Code Online (Sandbox Code Playgroud)

我想要实现的是将每个数字减少1,即所有2s将变为1,所有3将变为2等等.因此,一切n都会到来n-1.我通过以下方式实现这一目标:

df.rescaled <- df
sapply(2:6, function(i) df.rescaled[df.rescaled == i] <<- i-1))
Run Code Online (Sandbox Code Playgroud)

在这种情况下,我该如何避免<<-?理想情况下,我希望能够将sapply结果传递到另一个变量:

df.rescaled <- sapply(...)
Run Code Online (Sandbox Code Playgroud)

r

9
推荐指数
2
解决办法
821
查看次数

标签 统计

r ×2

lexical-scope ×1

r-faq ×1

scoping ×1