[英]R function to loop through global environment
我的 class 数据框架的全局环境中有 70 多个对象,名称为 A、B、C、D 等。 每一个都有不同的行数和三列,其中第一个是日期。 我想将以下 function 应用于每个人:
A$date<-as.Date(A$date)
A.xts<-xts(A[,2:3], order.by = A$date)
有没有办法构造一个遍历全局环境中每个 object 的 for 循环?
谢谢
我们可以使用mget
将所有对象放入一个list
中(假设我们正在从工作空间加载所有对象并且都是 data.frames),然后应用 function
library(xts)
lst1 <- lapply(mget(ls()), f1)
注意:在ls
中,我们也可以传递patterns
。 假设,如果数据集对象被命名为“df1”、“df2”等
lst1 <- lapply(mget(ls(pattern = '^df\\d+$')), f1)
如果我们真的想创建多个对象,请使用list2env
(不推荐)
names(lst1) <- paste0(names(lst1), '_new')
list2env(lst1, .GlobalEnv)
在哪里
f1 <- function(x) { x$date <- as.Date(x$date)
xts(x[,2:3], order.by = x$date)
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.