를 사용하여 처리 내가 형식의 시계열 데이터를시계열 데이터 집계 및 NA는 R
Ask Bid Trade Ask_Size Bid_Size Trade_Size
2016-11-01 01:00:03 NA 938.10 NA NA 203 NA
2016-11-01 01:00:04 NA 937.20 NA NA 100 NA
2016-11-01 01:00:04 938.00 NA NA 28 NA NA
2016-11-01 01:00:04 NA 938.10 NA NA 203 NA
2016-11-01 01:00:04 939.00 NA NA 11 NA NA
2016-11-01 01:00:05 NA 938.15 NA NA 19 NA
2016-11-01 01:00:06 NA 937.20 NA NA 100 NA
2016-11-01 01:00:06 938.00 NA NA 28 NA NA
2016-11-01 01:00:06 NA NA 938.10 NA NA 69
2016-11-01 01:00:06 NA NA 938.10 NA NA 831
2016-11-01 01:00:06 NA 938.10 NA NA 134 NA
시계열 데이터의 구조는
str(df_ts)
An ‘xts’ object on 2016-11-01 01:00:03/2016-11-02 12:59:37 containing:
Data: num [1:35797, 1:6] NA NA 938 NA 939 NA NA 938 NA NA ...
- attr(*, "dimnames")=List of 2
..$ : NULL
..$ : chr [1:6] "Ask" "Bid" "Trade" "Ask_Size" ...
Indexed by objects of class: [POSIXct,POSIXt] TZ:
xts Attributes:
NULL
내가마다 데이터를 집계하는 것을 시도하고있다 다음 코드를 사용하여 1 분
# Creating a Function
apply.periodly <- function (x, FUN, period, k = 1, ...)
{
if (!require("xts")) {
stop("Need 'xts'")
}
ep <- endpoints(x, on = period, k=k)
period.apply(x, ep, FUN, ...)
}
# Aggregation every minute
df_aggregate_min <- apply.periodly(x = df_ts, FUN = mean, period = "minutes", k = 1)
그러나 "NA"로 인해 잘못된 출력이 나옵니다. NA를 무시하여 매분마다 열을 어떻게 집계합니까?
사용자 정의 기능을 의미한다 ('naMean <- 기능 (X) {평균 (X, na.rm = TRUE)}') 트릭 – TBSRounder
감사가해야 할 마지막 줄에하지만, 결과 출력 인 전체 열의 평균, 매분마다 열 현명한 합계를 얻고 싶습니다. 내가 사용한 코드는 df_aggregate_min입니다. <- apply.periodly (x = df_ts, FUN = naMean, period = "minutes", k = 1) – Abhishek