我的情况:
- 我有许多 csv 文件都具有相同的后缀 pre .csv,但文件名的前两个字符不同(即 AA01.csv、AB01.csv、AC01.csv 等)
- 我有一个 R 脚本,我想在每个文件上运行它。该文件实质上是从 .csv 中提取数据并将它们分配给向量/将它们转换为时间序列对象。(例如,AA01 xts 时间序列对象、AB01 xts 对象)
我想达到的目标:
- 将脚本嵌入到更大的循环中(或根据需要)以顺序运行每个文件并应用脚本
- 删除创建的中间对象(参见下面的代码片段)
- 留给我从每个原始数据文件创建的最终 xts 对象(即 AA01 到 AC01 等作为值/向量等)
将这个脚本嵌入到 R 中的正确方法是什么?对不起,但我是一个编程菜鸟!
我的脚本代码如下...每个 CSV 中每列的标题是 DATE、TIME、VALUE
# Pull in Data from the FileSystem and attach it
AA01raw<-read.csv("AA01.csv")
attach(AA01raw)
#format the data for timeseries work
cdt<-as.character(Date)
ctm<-as.character(Time)
tfrm<-timeDate(paste(cdt,ctm),format ="%Y/%m/%d %H:%M:%S")
val<-as.matrix(Value)
aa01tsobj<-timeSeries(val,tfrm)
#convert the timeSeries object to an xts Object
aa01xtsobj<-as.xts(tsobj)
#remove all the intermediate objects to leave the final xts object
rm(cdt)
rm(ctm)
rm(aa01tsobj)
rm(tfrm)
gc()
然后在每个 .csv 文件上重复,直到提取所有 xts 对象。
即,我们将在 R 中结束,为进一步应用做好准备的是:
aa01xtsobj, ab01xtsobj, ac01xtsobj....etc
任何有关如何做到这一点的帮助将不胜感激。