xts 오브젝트 xts_IndData3에는 금융 기기의 위치 크기와 다른 두 가지 특성을 기록하는 PositionSize 특성이 있습니다. NewEntrySize> = 0. NewExitSize는 < = 0입니다. 다른 곳에서 논의한 xts 오류를 피하기 위해 아래 코드를 조합했습니다. 내가 피하려고 시도한 오류는 동일한 표현식 내에서 두 개의 서로 다른 xts rowID를 참조하는 것과 관련이 있습니다. 여전히 아래 코드는 작동하지 않습니다. 도움을 위해 미리 감사드립니다.Rxts NextMethod 대체 길이 오류
EDITED ... xts 개체를 데이터 프레임으로 변환했습니다. 여기 데이터와 새로운 코드가 문제를 명확하게하기 위해 필요한 일을하고 있습니다.
> str(TestData)
'data.frame': 12 obs. of 5 variables:
$ DateTime : Date, format: "2012-07-27" "2012-07-27" "2012-07-27" ...
$ NewEntrySize : int 0 0 0 1 0 0 0 0 0 0 0 0...
$ NewExitSize : int 0 0 0 0 0 0 0 0 0 -1 0 0...
$ PositionSize : int 0 0 0 1 0 0 0 0 0 -1 0 0...
$ DesiredResultPositionSize: int 0 0 0 1 1 1 1 1 1 0 0 0...
>
> PositionSizeLag <- 0
> PositionSizeLag <- as.integer(PositionSizeLag)
> TestData$PositionSize <- as.integer(TestData$PositionSize)
> TestData$NewEntrySize <- as.integer(TestData$NewEntrySize)
> TestData$NewExitSize <- as.integer(TestData$NewExitSize )
> for (i in 1 : nrow(TestData)) {
+ TestData[i]$PositionSize <- PositionSizeLag +
+ TestData[i]$NewEntrySize +
+ TestData[i]$NewExitSize
+ PositionSizeLag <- TestData[i]$PositionSize
+ }
Error in `$<-.data.frame`(`*tmp*`, "PositionSize", value = numeric(0)) :
replacement has 0 rows, data has 12
>
I는 xts 객체로 데이터 프레임을 변환했다. 다음은 객체의 xts 버전에있는 dput (head (xts_TestData))의 출력입니다. 당신이 data.frame에서와 수처럼
> dput(head(xts_TestData))
structure(c("2012-07-27", "2012-07-27", "2012-07-27", "2012-07-27",
"2012-07-27", "2012-07-27", "0", "0", "0", "1", "0", "0", "0",
"0", "0", "0", "0", "0", "0", "0", "0", "1", "0", "0", "0", "0",
"0", "1", "1", "1"), class = c("xts", "zoo"), .indexCLASS = "Date", tclass = "Date", .indexTZ = "UTC", tzone = "UTC", index = structure(c(1343347200,
1343347200, 1343347200, 1343347200, 1343347200, 1343347200), tzone = "UTC", tclass = "Date"), .Dim = c(6L,
5L), .Dimnames = list(NULL, c("DateTime", "NewEntrySize", "NewExitSize",
"PositionSize", "DesiredResultPositionSize")))
>
'NA'가 있습니까? 이것을 [reproducible]하게 만들었다면 (http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example), 문제가 무엇인지 정확하게 말할 수 있었을 것입니다. for 루프를 사용하는 것보다 훨씬 빠르다. – GSee
"xts 객체를 데이터 프레임으로 변환했습니다"?! 왜? – GSee
'dput (head (xts_IndData3))'의 결과를 질문에 추가하십시오 – GSee