在R中重命名全局变量

在R中重命名全局变量,r,R,我试图用for循环重命名全局变量 我没有一个可复制的例子,因为这个问题涉及非常广泛的东西 第一个问题是,我正在处理如此大的数据集,因此必须使用data.tables。我想重命名(使用for循环)全局环境中的所有data.tables 第一个问题是如何重命名全局环境变量 第二,如何重命名某类类型的全局变量 请注意,我想在for循环中执行此操作,以便它可以重命名可变长度的列表。R没有重新命名的概念,但您可以将对象绑定到新列表 命名并删除旧名称。由于data.table对象使用引用,因此 不会导致复制

我试图用for循环重命名全局变量

我没有一个可复制的例子,因为这个问题涉及非常广泛的东西

第一个问题是,我正在处理如此大的数据集,因此必须使用data.tables。我想重命名(使用for循环)全局环境中的所有data.tables

第一个问题是如何重命名全局环境变量

第二,如何重命名某类类型的全局变量


请注意,我想在for循环中执行此操作,以便它可以重命名可变长度的列表。

R没有重新命名的概念,但您可以将对象绑定到新列表 命名并删除旧名称。由于data.table对象使用引用,因此 不会导致复制基础数据,就像其他赋值一样

# get the names of the variables in the global environment
globalVariables <- ls(envir=.GlobalEnv)

for(.name in globalVariables){
    x <- get(.name,envir=.GlobalEnv)
    if(inherits(x,'data.table')){
        # obviously you want a better newName than 'foo'
        newName <- 'foo'
        # bind the value x to the new name in the global environment
        assign(newName,x,envir=.GlobalEnv)
        # delete the binding to the old name in the global environment
        rm(list=.name,envir=.GlobalEnv)
    }
}
#获取全局环境中变量的名称

globalVariables如果需要重命名全局变量,听起来代码可能有其他设计问题。你为什么要这么做?