我正在尝试清理大量数据,因此我编写了一个清理它的函数。另外,我写了一些代码,它们粘贴了每个数据集名称的前缀(数据集之间相同)和后缀,这是不同的。它将这些名称放入列表中。然后我写了一个函数来导入我的所有数据并清理它。输入有效,但由于我的清洁功能需要数据框,因此清理不起作用,但它将列表中的名称识别为字符。
clean= function(x){
x=x[-c(1:2,1604:1658),]
colnames(x)= c("Wavelength","Reflection")
return(x)
}
files_suffixes=c()
for(a in 1:78){
if (0<a && a<4){
files_suffixes[a]=paste0("6.0",a,"-s00-m01-1")
}
if (3<a && a<7){
files_suffixes[a]=paste0("6.0",a-3,"-s00-m01-2")
}
if (6<a && a<10){
files_suffixes[a]=paste0("7.0",a-6,"-s00-m01-1")
}
if (9<a && a<13){
files_suffixes[a]=paste0("7.0",a-9,"-s00-m01-2")
}
if (12<a && a<16){
files_suffixes[a]=paste0("8.0",a-12,"-s00-m01-1")
}
if (15<a && a<19){
files_suffixes[a]=paste0("8.0",a-15,"-s00-m01-2")
}
if (18<a && a<22){
files_suffixes[a]=paste0("9.0",a-18,"-s00-m01-1")
}
if (21<a && a<25){
files_suffixes[a]=paste0("9.0",a-21,"-s00-m01-2")
}
}
for(x in 1:length(files_suffixes)){
assign(paste0("sa1976",files_suffixes[x]),read.csv(paste0("V:/vuv-data/proj/Cary-Film-Comparision/Cary/Reflection/sa1976",files_suffixes[x],".csv"), header=FALSE))
assign(paste0("sa1976",files_suffixes[x]),clean(paste0("sa1976",files_suffixes[x])))
}
我不完全理解为什么它可以导入文件,但它不适用于该函数,但无论如何,有没有办法将列表中的名称与它们代表的数据框相匹配?