【发布时间】:2021-05-10 01:57:05
【问题描述】:
我有一个函数可以返回一个对象名称向量,它在给定环境中是唯一的:
find_unique_name <- function(nNames, environment) {
un <- replicate(nNames, paste0(sample(LETTERS, 10), collapse=""))
while (any(duplicated(un)) | any(un %in% ls(envir = environment))) {
un <- replicate(nNames, paste0(sample(LETTERS, 10), collapse=""))
}
return(un)
}
我想知道这个函数的速度是否可以提高,因为它在算法中被多次调用。我想知道它是否可以被矢量化,或者至少是否有办法在没有循环的情况下做到这一点。我怀疑这不是找到唯一对象名称向量的最快方法。谢谢!
【问题讨论】:
标签: r performance loops while-loop vectorization