Есть ли способ создать списки в r на основе совпадения имен файлов в для l oop? - PullRequest
0 голосов
/ 30 апреля 2020

(Я очень плохо знаком с R, поэтому я думал о решении проблем в терминах python, а затем пытался перевести его, но он не работал - хотя мне нужен R для их растровых / ГИС-возможностей )

Моя цель - взять список имен файлов, которые я сгенерировал из папки (оканчивающейся на *** DTM.tif или *** DSM.tif), go через этот список, пытаясь просмотрите строки в каждом элементе, чтобы найти имена файлов, которые совпадают между файлами DSM и DTM, а затем добавьте файлы в новые списки, которые упорядочивают файлы DSM и DTM соответственно.

    filenames

    ##### initialize lists
    dsmlst <- list_along()
    dtmlst <- list_along()

    ##### for loop
    for (i in seq_along(filenames)) {
      n = nchar(i)
      if substr(i, n-7, n) == "DSM.tif" {
        list.append(dsmlst, i)
      } else if substr(i, n-7, n) == "DTM.tif" {
        list.append(dtmlst, i)
      }
    }
    dsmlst
    dtmlst

Это все, что у меня есть до сих пор, и я не смог заставить его работать. Любой совет?

1 Ответ

0 голосов
/ 30 апреля 2020

Здесь мы зацикливаемся на последовательности, а не на именах файлов, поэтому нам нужно извлечь это имя файла

 dsmlst <- list_along(seq_along(filenames))
 dtmlst <- list_along(seq_along(filenames))

for (i in seq_along(filenames)) {
  filename <- filenames[i]
  n = nchar(filename)
  if(substr(filename, n-7, n) == "DSM.tif") {
    dsmlist[[i]] <- filename
  } else if(substr(filename, n-7, n) == "DTM.tif") {
    dtmlst[[i]] <- filename
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...