0

テストデータを分割するためにかなり長い間試みてきました。

> FDF <- read.csv.ffdf(file='C:\\Users\\William\\Desktop\\R Data\\TestData0812.txt', header = FALSE, colClasses=c('factor','factor','numeric','numeric','numeric','numeric'), sep=',')
> names(FDF)<- c('Date','Time','Open','High','Low','Close')
> 
> # ID
> FDF2 <-FDF[1:100,]
> FDF2 <- as.ffdf(FDF2)
> a <- nrow(FDF2)
> # Take section of import for testing
> FDF2[1:3,]
        Date  Time   Open   High    Low  Close
1 1987.08.28 12:00 1.6238 1.6240 1.6237 1.6239
2 1987.08.28 12:01 1.6239 1.6240 1.6235 1.6236
3 1987.08.28 12:02 1.6236 1.6239 1.6235 1.6238
> 
> ID <- data.frame(matrix(1:a, nrow = a, ncol=1 ))
> ID <- as.ffdf(ID)
> names(ID) <- c('ID')
> FDF3 <- cbind.ffdf2(ID, FDF2)
> # Create ID column and binds together
> FDF3[1:3,]
  ID       Date  Time   Open   High    Low  Close
1  1 1987.08.28 12:00 1.6238 1.6240 1.6237 1.6239
2  2 1987.08.28 12:01 1.6239 1.6240 1.6235 1.6236
3  3 1987.08.28 12:02 1.6236 1.6239 1.6235 1.6238

これを使用するファイルは、700MB の ffdf オブジェクトです。データセットを分割する方法を知りたいですか?

私の現在のコードは;

T = ffdfdply(FDF3, split(FDF3$ID, rep(1:10,each=10)))

私はこれのかなりのバリエーションを行い、フォーラムやその他で調査しました。ただし、簡単にするために、上記の例を含めました。

上記のコードを操作すると、次のエラーが表示されます。

ffdfdply(FDF3, split(FDF3$ID, rep(1:10, each = 10))) のエラー: split
は x の行数と同じ長さである必要があります

rep(1:10, each = 10)の分割がデータセットで機能しない理由を理解できないようです> dim(FDF3) [1] 100 7

各分割に十分な量の行がない場合でも、分割を実行したいと思います。T = ffdfdply(FDF3, split(FDF3$ID, rep(1:10,each=3)))

私はこれを少なくとも20時間続けています。

4

1 に答える 1