使用以下代码时:
get_objects <- function() {
x1 <- 123
x2 <- 23535
x_objects <- ls(pattern = 'x')
print(x_objects)
x_objects_list <- purrr::map(x_objects, get)
return(x_objects_list)
}
f <- get_objects()
我收到以下错误:
.f(.x [[i]],...)中的错误:object&#39; x1&#39;找不到
我怀疑它与范围或环境有关,因为当对象是全局定义的时候,而不是在函数中,我可以通过评估来使用代码
x_objects_list <- purrr::map(x_objects, get)
直接在控制台中。原因是我想要一个具有特定名称的数据帧列表,以便我可以迭代地对它们执行操作。
答案 0 :(得分:1)
不确定您要做什么,但由于您没有与您分享更大的范围,这应该可以解决您当前的问题:
get_objects <- function() {
x1 <- 123
x2 <- 23535
x_objects <- ls(pattern = 'x')
x_objects_list <- purrr::map(x_objects, get, envir = sys.frame(sys.parent(0)))
return(x_objects_list)
}
f <- get_objects()