반응형
zoo :: yearmon 객체에서 월과 연도 추출
나는 yearmon
물건을 가지고있다 :
require(zoo)
date1 <- as.yearmon("Mar 2012", "%b %Y")
class(date1)
# [1] "yearmon"
이것에서 월과 연도를 어떻게 추출 할 수 있습니까?
month1 <- fn(date1)
year1 <- fn(date1)
대신 어떤 기능을 사용해야합니까 fn()
format()
class의 객체에 메소드를 사용하십시오 "yearmon"
. 여기 예제 날짜가 있습니다 (올바르게 작성되었습니다!).
date1 <- as.yearmon("Mar 2012", "%b %Y")
그런 다음 필요에 따라 날짜 부분을 추출 할 수 있습니다.
> format(date1, "%b") ## Month, char, abbreviated
[1] "Mar"
> format(date1, "%Y") ## Year with century
[1] "2012"
> format(date1, "%m") ## numeric month
[1] "03"
이들은 문자로 반환됩니다. 적절한 as.numeric()
경우 연도 또는 월을 숫자 변수로 원하는 경우 랩핑 하십시오 (예 :
> as.numeric(format(date1, "%m"))
[1] 3
> as.numeric(format(date1, "%Y"))
[1] 2012
참조 ?yearmon
및 ?strftime
자세한 내용은 - 후자는 사용할 수있는 자리 문자를 설명합니다.
lubridate 패키지는 이런 종류의 일은 놀랍습니다 :
> require(lubridate)
> month(date1)
[1] 3
> year(date1)
[1] 2012
OP가 zoo
여기에서 사용하고 있다는 것을 알고 있지만 ts
동일한 문제에 대한 표준 솔루션에 대한 이 스레드 인터넷 검색을 발견했습니다 . 그래서 zoo
무료 답변을 추가 할 것이라고 생각했습니다 ts
.
# create an example Date
date_1 <- as.Date("1990-01-01")
# extract year
as.numeric(format(date_1, "%Y"))
# extract month
as.numeric(format(date_1, "%m"))
당신은 사용할 수 있습니다 format
:
library(zoo)
x <- as.yearmon(Sys.time())
format(x,"%b")
[1] "Mar"
format(x,"%Y")
[1] "2012"
큰 벡터의 경우 :
y = as.POSIXlt(date1)$year + 1900 # x$year : years since 1900
m = as.POSIXlt(date1)$mon + 1 # x$mon : 0–11
질문에 정확히 어떤 출력이 예상되는지 명시하지 않았지만 월에 대해 월 번호 (1 월 = 1)를 원한다고 가정하고 연도에 대해 숫자 4 자리 연도를 원한다고 가정하면 문제의 코드를 방금 실행했다고 가정합니다.
cycle(date1)
## [1] 3
as.integer(date1)
## [1] 2012
참고 URL : https://stackoverflow.com/questions/9749598/extract-month-and-year-from-a-zooyearmon-object
반응형
'Programming' 카테고리의 다른 글
header (“Location :”)가있는 이전 페이지로 돌아 가기 (0) | 2020.07.26 |
---|---|
쉘 스크립트에서 호출 된 함수에서 값 반환 (0) | 2020.07.26 |
MySQL에서 문자열을 열 값 앞에 추가하는 방법은 무엇입니까? (0) | 2020.07.26 |
.NET-“caps”구분 문자열을 어떻게 배열로 나눌 수 있습니까? (0) | 2020.07.26 |
ASP.NET MVC의 정적 필드에서 Server.MapPath () 사용 (0) | 2020.07.26 |