for 루프에 넣을 때 내 as.Date 함수가 다른 결과를주는 약간의 문제입니다. 이미지가있는 하위 폴더 (날짜 별)가있는 폴더를 찾고 있습니다. 필자는 모든 날짜를 구성하기 위해 date_list를 작성합니다 (나중에 옵션을 계획하기 위해). 율리우스 데이는 1 월 1 일부터 시작되므로 4 년의 날짜가 있기 때문에 유연해야합니다.as.Date 함수는 for 루프에서 다른 결과를 제공합니다.
# Set up list with 4 columns and counter Q. jan is used to set all dates to the first of january
date_list <- outer(1:52, 1:4)
q = 1
jan <- "-01-01"
for (scene in folders){
year <- as.numeric(substr(scene, start=10, stop=13))
day <- as.numeric(substr(scene, start=14, stop=16))
datum <- paste(year, day, sep='_')
date_list[q, 1] <- datum
date_list[q, 2] <- year
date_list[q, 3] <- day
date_list[q, 4] <- as.Date(day, origin = as.Date(paste(year,jan, sep="")))
q = q+1
}
출력 마지막 행 :
[52,] "2016_267" "2016" "267" "17068"
내가 date_list에서 실종 무엇 [질문 4] 날짜로 내 정수를 전송하지 않습니다? 다음 코드를 작동하지만 때문에 내가 이것을 자동화 좋아하는 장면과 폴더의 많은 양에 수행 실행 :
as.Date(day, origin = as.Date(paste(year,jan, sep="")))
이 시간 내 주셔서 감사를!
에 무엇'folders'? 나는 당신이 원하는 것을 성취 할 수있는 더 좋은 방법이 있다고 생각합니다. 'as.Date()'호출을'origin' 매개 변수에서 제거해야하고,'as.Date' 함수는 매개 변수를 필요에 따라 날짜로 변환합니다. 또는 특정 경우, 여기에서도 기점을 제공해야합니다. – Tensibai
@Tensibai 폴더 안에는 1 일 및 52 일 동안 수집 한 잔뜩 위성 이미지가 있습니다. 이미지 이름에 저장 날짜가 있습니다 : LC81730382016267LGN00. 이 예는 2016 년 267 일에 캡처 한 것입니다. 다음은 as.Date (일, 출처 = as.Date (붙여 넣기 (연도, jan, sep = ""))) 2016-09- 24, 내가 원하는거야. 그러나 그것은 성공적으로 date_list에 저장하지 않습니다 – Jobbo90
나는'dput folders'가 당신을 도울 것이라고 말했습니다 : – Tensibai