我在类data.frame的全局环境中有70多个对象,名称分别为A,B,C,D等。每一个都有不同的行数和三列,其中第一个是日期。我想对他们每个人应用以下功能:
A$date<-as.Date(A$date)
A.xts<-xts(A[,2:3], order.by = A$date)
有没有办法构造一个遍历全局环境中每个对象的for循环?
谢谢
我们可以使用list
将所有对象放入mget
(假设我们正在从工作空间加载所有对象,并且所有对象都是data.frames,然后应用函数)
library(xts)
lst1 <- lapply(mget(ls()), f1)
注意:在ls
中,我们也可以通过patterns
。假设,如果数据搜索对象被命名为“ df1”,“ df2”,等等
lst1 <- lapply(mget(ls(pattern = '^df\\d+$')), f1)
where
f1 <- function(x) { x$date <- as.Date(x$date)
xts(x[,2:3], order.by = x$date)
}