Я не уверен, обсуждалась ли ранее эта тема или нет, но мне удалось найти похожие вопросы только с помощью символа pattern =
.
Я создаю различные процентные таблицы на основе файловсо следующим именем шаблона: "accuracycollar4136*_4136*.0.*.csv"
- были * это целое число (например, 1, 2, 3 и т. д.).Все эти файлы находятся в одной папке.
Я хочу создать цикл for
, который будет записывать в формате csv каждую процентную таблицу на основе файлов "accuracycollar4136*_4136*.0.*.csv"
.
Вотмой код при записи в CSV процентную таблицу для одного "accuracycollar4136*_4136*.0.*.csv"
файла, здесь "accuracycollar41361_41365.0.7.csv"
в качестве примера:
setwd("C:/Users/Juan/Desktop/KNN/41361_by_41365")
files = as.list(list.files(path = "C:/Users/Juan/Desktop/KNN/41361_by_41365"))
miss_class = lapply(files, function(x){
data = read.csv("accuracycollar41361_41365.0.7.csv",header=T)
miss<-prop.table(table(data$observed,data$predicted),margin=1)
})
write.csv(miss,file="classification_table_41361_by_41365.0.7.csv")
с выводом:
Grazing Head-up Unknown Vigilance
Grazing 0.291666667 0.583333333 0.020833333 0.104166667
Grooming 0.750000000 0.000000000 0.000000000 0.250000000
Head-up 0.331168831 0.538961039 0.006493506 0.123376623
Moving 0.000000000 0.923076923 0.000000000 0.076923077
Unknown 0.250000000 0.750000000 0.000000000 0.000000000
Vigilance 0.444444444 0.333333333 0.000000000 0.222222222
Теперь, как можноЯ автоматизирую этот же процесс с помощью цикла for
для каждого файла, соответствующего шаблону имени "accuracycollar4136*_4136*.0.*.csv"
?
Я знаю, что есть символ pattern=
, но он не будет работать здесь, когда части шаблона являются переменными.
Любой ввод приветствуется!
PS (Обновление): я пробовал что-то подобное на основе предыдущих сценариев, но я не получаю вывод.Я на правильном пути?
setwd("C:/Users/Juan/Desktop/KNN/41361_by_41365")
f <- list.files(full.names = F, pattern = "accuracycollar413")
dfs <- list()
for(i in 1:length(f))
miss_class = lapply(files, function(x){
data = read.csv(f,header = TRUE)
miss<-prop.table(table(data$observed,data$predicted),margin=1)
write.csv(miss,file="classification_table",i,"csv",sep=".")
})