... 분기 내내 스플라인 - (최고) 또는 선형 보간 (OK) 또는 반복 된 값 (미세) 중 하나. 문제는 getFin()
및 viewFin()
에 의해 반환 된 데이터 형식을 timeSeries
형식으로 변환하는 방법을 알 수 없다는 것입니다. 여기 내 코드입니다 :quantumod의 viewfin 함수가 반환하는 분기 별 데이터를 월별 시계열로 변환하는 방법은 무엇입니까?
> x
2011-09-30 2011-06-30 2011-03-31 2010-12-31 2010-09-30
3816000 3815000 3813000 3778000 3484000
> str(x)
Named num [1:5] 3816000 3815000 3813000 3778000 3484000
- attr(*, "names")= chr [1:5] "2011-09-30" "2011-06-30" "2011-03-31" "2010-12-31" ...
는 이상한 역 형식으로되어 있습니다 :
getFin('F')
x <- viewFin(F.f, "BS", period="Q")["Total Common Shares Outstanding",]*1000
내 원하는 출력 그러나
> x
GMT x.ts
2011-09-01 3816000
2011-08-01 3816000
2011-07-01 3816000
2011-06-01 3815000
2011-05-01 3815000
2011-04-01 3815000
2011-03-01 3813000
2011-02-01 3813000
2011-01-01 3813000
2010-12-01 3778000
2010-11-01 3778000
2010-10-01 3778000
2010-09-01 3484000
이며, 여기에 몇 가지 실제 출력 여기서 키는 숫자 값이고 값은 날짜의 문자열입니다. 날짜 또는 숫자 구성 요소를 추출 할 때 숫자 부분을 분리하여 시계열 개체를 생성 할 수 없습니다.
가 이상적으로, 내 원하는 출력에 도착, 나는mydates <- timeSequence(from = "2011-01-01", to=Sys.Date(), by = "month")
series <- timeSeries(x$data, mydates)
을 말할 수있을 것입니다하지만 난 숫자 데이터 부분을 추출 할 수없는 것.
, 나는 다음과 같은 코드를 적용 :
이getFin('F')
x <- viewFin(F.f, "BS", period="Q")["Total Common Shares Outstanding",]*1000
zoox = zoo(x, order.by=as.Date(names(x)))
x2 <- na.spline(merge(zoox, foo=zoo(NA, order.by=seq(start(zoox), end(zoox), "month")))[, 1])
하지만, 내 출력이 날짜 조금 미치게을 보간 망쳐 놨 :
>x2
2010-09-30 2010-10-30 2010-11-30 2010-12-30 2010-12-31 2011-01-30 2011-03-02
3484000 3623591 3720509 3776671 3778000 3804738 3813071
2011-03-30 2011-03-31 2011-04-30 2011-05-30 2011-06-30 2011-07-30 2011-08-30
3813025 3813000 3813100 3814116 3815000 3814976 3814884
2011-09-30
3816000
을
보시다시피, 저는 bo 12 월 31 일, 12 월 31 일, 3 월 2011 년 3 가지 값은 있지만 2 월 등은 없습니다. 어떻게 해결할 수 있습니까?
Welcome to Stackoverflow, 질문에 추가하는 대신 답변을 답변으로 게시 할 수 있습니까? 이것은이 질문에 대한 미래의 방문자를 도울 것입니다. – Stedy