2016-03-07 74 views
2

我需要生成临时变量名称,它永远不会与当前全局环境中的任何现有变量冲突。我如何随机生成一个唯一的,未使用的对象名称

变量将存储我无法在ExcelSi-R(如列表)中一步获取的数据。

+0

想必这是一个函数内部发生的事情,为什么,如果它在全球环境与名称冲突关系呢? – Gregor

+0

@Gregor问题是,它不会发生在函数内部...使用ExcelSi-R我只能使用'.GlobalEnv' ... –

+0

啊,这很有道理。 (好吧,从你的POV中看出来...不确定它对ExcelSi-R是否有意义...) – Gregor

回答

3

下面是做这件事:

temp.name = function(n=4, avoid = ls()) { 

    tn = paste(sample(letters, n), collapse="") 

    while (tn %in% avoid) { 
    tn = paste(sample(letters, n), collapse="") 
    } 

    tn 
} 

temp.name()