날짜가 BW01.68, BW02.68, ..., BW26.10 인 벡터가 있습니다. BW는 "격주"를 나타냅니다. 예를 들어, "BW01.68"은 1968 년의 첫 번째 격주를 나타내며 "BW26.10"은 2010 년의 26 번째 (마지막) 격주를 나타냅니다. R을 사용하면이 벡터를 01-01-1968, 01-15-1968, ..., 12-16-2010 형식의 실제 날짜로 어떻게 변환 할 수 있습니까? R이 각 격주에 해당하는 날짜를 정확히 알 수있는 방법이 있습니까? 어떤 도움을 주셔서 감사합니다!벡터를 날짜로 변환 R
0
A
답변
0
대체 솔루션.
biwks <- c("BW01.68", "BW02.68", "BW26.10")
bw <- substr(biwks,3,4)
yr <- substr(biwks,6,7)
yr <- paste0(ifelse(as.numeric(yr) > 15,"19","20"),yr)
# the %j in the date format is the number of days into the year
as.Date(paste(((as.numeric(bw)-1) * 14) + 1,yr,sep="-"),format="%j-%Y")
#[1] "1968-01-01" "1968-01-15" "2010-12-17"
나는 '바이 주'이상한 측정을 보인다 난 그냥 14 개 일내 블록을 사용하는 작업에 의도 무엇을 확신 할 수 없으므로주의한다지만.
0
이 코드를 훨씬 더 짧게 만들 수 있습니다. 나는 이해를 돕기 위해 각 단계를 간격을 두었지만 하나의 (긴) 코드 줄에서 끝낼 수있었습니다.
bw <- c('BW01.68', 'BW02.68','BW26.10','BW22.13')
# the gsub will ensure that bw01.1 the same as bw01.01, bw1.01, or bw1.1
#isolating year no
yearno <- as.numeric(
gsub(
x = bw,
pattern = "BW.*\\.",
replacement = ""
)
)
#isolating and converting bw to no of days
dayno <- 14 * as.numeric(
gsub(
x = bw,
pattern = "BW|\\.[[:digit:]]{1,2}",
replacement = ""
)
)
#cutoff year chosen as 15
yearno <- yearno + 1900
yearno[yearno < 1915] <- yearno[yearno < 1915] + 100
# identifying dates
dates <- as.Date(paste0('01/01/',yearno),"%d/%m/%Y") + dayno
# specifically identifinyg mondays of that week no
mondaydates <- dates - as.numeric(strftime(dates,'%w')) + 1
출력 -
> bw
[1] "BW01.68" "BW02.68" "BW26.10" "BW22.13"
> dates
[1] "1968-01-15" "1968-01-29" "2010-12-31" "2013-11-05"
> mondaydates
[1] "1968-01-15" "1968-01-29" "2010-12-27" "2013-11-04"
PS : 그냥 당신이 그것을 정확하게 번역하고 있는지 당신이 BW는 데이터의 측정하는 방법과 일치하고 있다는 것을주의해야합니다. 예를 들어 bw가 발생할 수있는 경우와 같이 작동 시키려면이 값을 조작 할 수 있어야합니다.
관련 문제
- 1. R YYMMDD를 날짜로 변환
- 2. 지정된 열을 날짜로 변환 R
- 3. 벡터를 R
- 4. r - 숫자를 날짜로 변환해야합니다.
- 5. R : 날짜로 일치하는 시간
- 6. R에서 문자를 날짜로 변환
- 7. 벡터를 rbg에 R
- 8. 여러 벡터를 일치시키는 R
- 9. R; 내가 벡터를 벡터
- 10. 에포크 시간을 날짜로 변환 할 수 없습니다. R
- 11. 리팩터링 속도 : 날짜로 변환
- 12. GWT에서 문자열을 날짜로 변환
- 13. Sqlite : 달의 날짜로 변환
- 14. Excel에서 숫자를 날짜로 변환
- 15. 문자열을 SQL 날짜로 변환
- 16. DateTime 날짜로 변환
- 17. 문자열을 날짜로 변환
- 18. DateTime 형식을 날짜로 변환
- 19. SimpleDateFormat 문자열을 날짜로 변환
- 20. 자바에서 데이터베이스 날짜로 변환
- 21. 문자열에서 셀의 날짜로 변환
- 22. 캘린더 - 요일을 날짜로 변환
- 23. Java : 문자열을 날짜로 변환
- 24. 오라클의 숫자를 날짜로 변환
- 25. 문자열을 날짜로 변환
- 26. 숫자를 날짜로 변환
- 27. 문자열 data.frame을 날짜로 변환
- 28. 날짜로 varchar2 변환
- 29. mySQL에서 날짜로 varchar로 변환
- 30. 문자열을 Access에서 날짜로 변환
데이트가 주중에 있습니까? 반환되는 모든 값이 월요일 (또는 다른 요일)일까요? 아니면이 두 주 중 날짜가 될 수 있습니까? – TheComeOnMan
저는 그것이 어떤 요일인지는 중요하지 않다고 생각합니다. –