2017-09-13 17 views
1

통계 패키지에서 R의 시계열에 대한 지식이있는 사람이 나를 도와 줄 수 있는지 궁금합니다.R의 시계열은 누락 된 데이터를 자동으로 생성합니까?

현재 stat의 ts 함수를 사용하여 시계열을 생성하고 있습니다.

데이터 세트 (3 년 동안 날짜와 숫자 값이 매일 포함), 10 진수로 분석 된 시작일과 종료일, 빈도가 365입니다. 그러나 특정 날짜 범위가 누락되어 있습니다 (예 : 2016 년 4 월 30 일부터 2017 년 1 월 2 일까지의 날짜 및 값이 누락 됨).

그러나 시계열을 보거나 플롯하면 누락 된 데이터가 자동으로 값으로 채워진 것을 발견했습니다.

이 값이 어떻게 생성되었는지는 잘 모르겠습니다.

시계열 함수는 데이터가 누락 된 날짜를 자동으로 채 웁니까? 어떤 도움

감사합니다,
제이

편집 :
이 (당신이 2016년 4월 30일에서 2017-01-에 데이터 누락이 있음을 볼 수 있습니다 내 원래의 데이터 프레임의 일부 예 02)

Dataframe: 
      date   pieceVolume 
... |  ...  |  ... 
615 | 2016-04-29 | 250.5 
616 | 2016-04-30 | 1230.4 
617 | 2017-01-02 | 273.2 
618 | 2017-01-01 | 26150.5 
619 | 2017-01-02 | 232550.7 

내 원래 데이터 프레임은 655 개 행을 가지고 있지만, 내 시간 시리즈 I가 데이터 프레임에서 내 시계열을 생성하고있어 어떻게 이것은 1079
의 길이 :

,
sts <- ts(test_data$pieceVolume, start=decimal_date(min(as.Date(test_data$date))), end=decimal_date(max(as.Date(test_data$date))), frequency=365) 

내 원본 코드 :

original_data <- readRDS("original_data.rds") 
library(plyr) 
## Using ddply to average all the pieceVolumes that have the same dates. 
test_data <- plyr::ddply(original_data, .(date), function(x) c(pieceVolume=mean(x$pieceVolume))) 
library("forecast") 
## Generate time-series using test_data 
sts <- ts(test_data$pieceVolume, start=decimal_date(min(as.Date(test_data$date))), end=decimal_date(max(as.Date(test_data$date))), frequency=365) 
+0

흠 시도? 문제에 데이터를 추가 할 수 있습니까? 그 날짜가 완전히 제거되지 않았습니까? 원본 세트 대 변환 된 시계열 세트의 길이를 확인 했습니까? – DataTx

+0

@DataTx NAs가 없습니다. 누락 된 데이터가 완전히 누락되었습니다. 누락 된 날짜에 행이 전혀 없습니다. – Jay

+0

누락 날짜가 전혀 표시되지 않을 수 있습니다. 'length (df $ timeseries)'또는'dim'를 사용하여 시계열의 길이를 확인하십시오. 365보다 작 으면 누락 날짜가 표시되지 않습니다. – DataTx

답변

0

당신은 NA의 때 데이터를로드를 제거,

sts<- ts(test_data$pieceVolume) 
+0

시계열을 생성 할 때 뭔가 자동으로 데이터를 보간하는 것 같습니다. 그것은 보간하기 위해 아무 것도하지 않았지만 누락 된 날짜를 자동으로 생성합니다.ts가 자동으로 나를 위해 그것을 보간하는 기능인지 궁금합니다. – Jay

+0

코드가 OP의 것과 다른 점과 문제가 어떻게 해결되는지 또는 질문에 대답하는지 설명하십시오. 유용한 가이드를 만드는 데이 가이드를 권장합니다. stackoverflow.com/help/how-to-answer –