(我对R非常陌生,所以我一直在考虑用python术语解决问题,然后尝试翻译它,但它一直不起作用--我需要R,因为它具有栅格/GIS功能)
我的目标是获取我从文件夹(以***DTM.tif或***DSM.tif结尾)生成的文件名列表,遍历该列表,尝试遍历每个元素中的字符串,以找到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到目前为止,这就是我的全部,我还没能让它工作。有什么建议吗?
发布于 2020-05-01 01:41:00
在这里,我们循环遍历序列,而不是文件名,因此我们需要提取该文件名
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
}
}https://stackoverflow.com/questions/61529480
复制相似问题