创建一个函数来迭代 R 中大型列表中的 tibble 元素



我正在尝试创建一个函数来自动化在将多个数据集合并为 xts 之前需要执行的一些基本格式化。我可以批量读取文件并创建一个大型列表。但是我很难创建一个函数来迭代该列表。当我将单个文件读入 df 时,我一直在运行以下内容:

df<-df[!(duplicated(df$DateTime)),] dfx<-xts(df[,-1], order.by = as.POSIXct(df$DateTime, format="%d-%b-%y %H:%M:%S"))

然后我对所有"dfx"对象进行 merge.xts。我对数据的一个问题是日期时间并不总是在文件之间匹配,上述方法给了我一个带有 NA 的大 xts,这是我更喜欢另一种类型的合并/rbind 的。我想创建一个函数来一遍又一遍地执行此操作,特别是因为将每个文件读取到单独的数据帧中然后合并现在很辛苦,因为我必须组合 10+。我所有的尝试都没有成功,现在我只是被困住了。:/任何帮助将不胜感激!

如果是list,我们可以用lapply遍历list,并使用匿名函数调用来应用函数

lst2 <- lapply(lst1, function(df) {
df<-df[!(duplicated(df$DateTime)),]
xts(df[,-1], order.by = as.POSIXct(df$DateTime, format="%d-%b-%y %H:%M:%S")) 
})

然后使用Reduce执行merge

Reduce(merge, lst2)

最新更新