程序浏览文件夹中的所有文件,处理它们并将它们装在一个文件中:
files=list.files(path="path", recursive=T, pattern='.xlsx')
for(i in 1:length(files))
{
#some process goes which generates qs_30 for each file as the loop is run
if (!exists("dataset")){
dataset <- qs_30
}
# if the merged dataset does exist, append to it
if (exists("dataset")){
temp_xts <-qs_30
dataset<-rbind(dataset, temp_xts)
rm(temp_xts)
}
}
当写入最终数据集文件时,它会复制第一个qs_30的条目。请帮忙调试一下。
答案 0 :(得分:2)
出现问题是因为数据集是在第一个之后创建的,如果然后输入第二个if,那么rbind
两次
您有两种选择:
如果
,则交换两者的顺序# if the merged dataset does exist, append to it
if (exists("dataset")){
temp_xts <-qs_30
dataset<-rbind(dataset, temp_xts)
rm(temp_xts)
}
if (!exists("dataset")){
dataset <- qs_30
}
或执行其他操作而不是if
if (!exists("dataset")){
dataset <- qs_30
} else {
temp_xts <-qs_30
dataset<-rbind(dataset, temp_xts)
rm(temp_xts)
}