R:将函数变量用作由函数输入命名的全局变量(<<-运算符不接受函数输入)

时间:2020-10-27 21:38:02

标签: r function environment-variables

因此,首先要简要介绍一下:我对R相当陌生,在这里甚至更多,并且还可以就今天遇到的这个问题进行一些教学讨论;

我决定编写我的第一个函数,以减少数据转换中的一些重复性任务,以清理一些手动编写的旧代码。我一个接一个地声明了set1,set2等全局变量,现在想将它实现到我的函数中,遇到<<-运算符。到目前为止,到目前为止,我还不太了解:

x <- "test"
y <- "try"

example <- function(x, y){
x  <<- y 
x}
即使尝试使用x调用,

也会得到一个名为x的全局变量; 即使x在输出中明显被称为“测试” 对于那些遇到相同问题的人,我发现了一种直接的解决方法

example <- function(x, y){
    assign(x, y, envir = .GlobalEnv)
}

在这种情况下,将全局变量命名为函数输入x,test,因为我想为函数中给定的数据集命名数据集,但这在我的情况下仍然需要,但是我仍然觉得这不太直观,所以我想知道是否有人对此发表了一些有趣的评论-不太确定我在这里期望什么,但希望这可能会有人在尽可能少的情况下提供帮助;)

ps:该主题可能与Global and local variables in R中有趣的答案密切相关 然而,除了指出实现似乎确实存在问题之外,没有说明<<-如何影响变量命名。

0 个答案:

没有答案