R 转换为.Date:一次转换多个数据帧
我有66个数据帧,需要将“Date”列转换为“as.Date”。我不知道如何立刻做这件事。我会这样说:R 转换为.Date:一次转换多个数据帧,r,as.date,R,As.date,我有66个数据帧,需要将“Date”列转换为“as.Date”。我不知道如何立刻做这件事。我会这样说: dat2003q1$Date<-as.Date(as.character(dat2003q1),format="%m/%d/%Y") dat2003q2$Date<-as.Date(as.character(dat2003q2),format="%m/%d/%Y") dat2003q3$Date<-as.Date(as.character(dat2003q3),format=
dat2003q1$Date<-as.Date(as.character(dat2003q1),format="%m/%d/%Y")
dat2003q2$Date<-as.Date(as.character(dat2003q2),format="%m/%d/%Y")
dat2003q3$Date<-as.Date(as.character(dat2003q3),format="%m/%d/%Y")
dat2003q1$DateTry
您的工作区中是否有66个数据帧?您应该将它们保存在一个列表中,并使用应用函数。我的工作区中有66个数据帧。根据你的评论,这似乎是一件不同寻常的事情,但我在R方面没有太多经验。这正是我想要的。Tks。我是R的新手,所以我不明白为什么我应该使用列表而不是数据集。对不起,我的英语不好。@Jorge Dias原因是你必须创建66个对象。我猜你会单独阅读所有这些数据集。然后,如果您想同时在所有数据集中进行一些计算(就像您描述的情况一样),您必须使用for
循环,或者通过将它们放入列表来使用lappy
。因此,与其创建所有这些对象,不如阅读它们lst再次感谢您。你的猜测是对的。现在我明白了为什么我应该使用列表。当我使用函数lst@JorgeDias时,我意识到当您使用显示的代码创建lst
时,您没有命名lst
元素。您可以将lst
元素命名为名称(lst)
lst <- lapply(mget(ls(pattern='^dat2003q\\d+')), function(x) {
x$Date <- as.Date(as.character(x$Date), format='%m/%d/%Y')
x})
list2env(lst, envir=.GlobalEnv)