2017-11-03 4 views
0

나는 나중에 사용하기 위해 일부 데이터의 서식을 지정하기 위해 R 스크립트를 작성하는 중입니다. 나는 날짜를 bin으로 보내고 싶었고 그렇게하기 위해 다음과 같은 함수를 작성했다.날짜를 내비게이션

나는 새로운 값을 검사했기 때문에 새로운 값을 확인했으며, 비교에서 정확하게 어떻게 동작하는지 알지 못했습니다. x는 anytime() 함수를 사용하여 형식이 지정된 Dates의 벡터입니다.

날짜 벡터에서 위의 함수를 사용한 후 거의 모든 레코드의 클래스가 정확합니다. 3 분기에 속하는 사람들을 제외하고. 그들은 그 달의 숫자를 값으로 유지했습니다.

Q1과 Q2의 처음과 두 번째 문을 다른 문법 아래로 옮기면 코드가 제대로 작동합니다.

나는 콘솔에서 놀기 시작했고, Q1에 대한 명령문 만 실행 한 후에 Q3에 대한 부울 선택을 사용하면 결과가 더 이상 나타나지 않는다는 것을 알게되었습니다. 그 후에 나는 "Q1"> 7이 TRUE로 나타났습니다.

아무도 모르는 일이 있습니까?

예 데이터 (이이 함수에 전달)

20-01-2017 
20-04-2017 
20-09-2017 
20-12-2017 

이 예상 출력 :

Q1 
Q2 
Q3 
Q4 

어떻게 그게 전부

편집이 (임은 짐작으로 R을 신규) 나는 :

Q1 
Q2 
9 
Q4 
+0

우리가 귀하의 기능을 실행할 수있는 작은 데이터 세트를 제공해주십시오. 'cut' 함수를 사용할 수도 있습니다. –

+0

당신이 얻고 자하는 기대치와 당신이 얻고있는 몇 가지 샘플 입출력을 게시 할 수 있습니까? 자세한 내용을 보려면 https://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example – Gautam

+0

@Marwaha 링크를 따라 가면서 붙여 넣기가 쉬운 데이터를 제공하십시오. 형태. –

답변

1
quarters(as.Date(x, "%d-%m-%Y")) 
## [1] "Q1" "Q2" "Q3" "Q4" 

업데이트 : 이것은 어떤 패키지를 사용하지

x <- c("20-01-2017", "20-04-2017", "20-09-2017", "20-12-2017") # input 

library(zoo) 

format(as.yearqtr(x, "%d-%m-%Y"), "Q%q") 
## [1] "Q1" "Q2" "Q3" "Q4" 

2) 분기 :1) yearqtr%q 형식 지정자를 사용하여 포맷 후 "yearqtr" 클래스에 문자 날짜를 변환하여 : 수정 된 입력 x은 해당 변경 사항에 해당합니다.

관련 문제