Цикл по всем файлам в папке в R по нескольким циклам - PullRequest
0 голосов
/ 07 мая 2020

Я написал код, который запускает функции выборки из файлов csv для биома. У меня есть 30 файлов csv, которые я хочу зациклить. Мне трудно применить этот код, который я легко написал, для всех файлов в моей папке. Я уверен, что это легко исправить, я просто нахожу проблему с l oop внутри al oop.

temp <- read.csv("tropical_grassland_N_Am_point_summary_table_gdrive.csv")
temp <- temp[which(temp$nd > 0.1),]


index <- substr(temp[,5],30,(nchar(as.character(temp[,5]))-2))
unique_index <- unique(index)
unique_index <- sample(unique_index, 20, replace=F)
for (i in 1:length(unique_index)){

  temp2 <- temp[which(index==unique_index[i]),]
  theDates = strptime(temp2[,2], format="%Y-%m-%d")
}

thresh <- 0.95

for (i in 1:length(unique_index)){

    temp2 <- temp[which(index==unique_index[i]),]
    theDates = strptime(temp2[,2], format="%Y-%m-%d")
  }

Все файлы csv имеют общий _point_summary_table_gdrive.csv после описание континента и биома.

1 Ответ

2 голосов
/ 07 мая 2020

Находятся ли они в одной папке без других файлов? если да, то если ваш код работает, вам не нужно знать имена файлов. просто сделайте его функцией, а затем

filenames <- list.files(path = whatyouwant, pattern = "*\\.csv$", all.files = TRUE,full.names = TRUE, recursive = TRUE)
files <- lapply(filenames,read.csv)
lapply(files,yourfunction)
...