2017-05-19 39 views
1

は、ここで私はそれがcolClassesについてだと思う私のコードエラー:Rにおける範囲外の添字は

colClasses <- c("integer", rep("factor", 2140)) 

    > train_categorical <- fread(file.path(data_dir, "train_categorical.csv"), 
data.table=FALSE, na.strings="", showProgress=TRUE , colClasses=colClasses,drop="Id") 

Read 1183747 rows and 2140 (of 2141) columns from 2.494 GB file in 00:07:35 
    Error in .subset2(x, j) : subscript out of bounds 

ですが、私はに管理することができませんでした、ちょっとRに新たなんですそれは仕事を得る。

どうすればよいですか?助けてください、ありがとう。

+0

おそらく、あなたはcolClassesの代わりにstringsAsFactors = TRUEを使うことができます。これは 'fread(file.path(data_dir、" train_categorical.csv ")、 data.table = FALSE、na.strings =" "、showProgress = TRUE、stringsAsFactors = TRUE、drop =" Id ")'です。 – lmo

+0

'colClasses < - rep(" factor "、2140)'でも試しましたか?なぜなら、 'colClasses'ベクトルの長さは、(あなたが1つの列を削除するため)読み取られている列の数よりも長いからです。 – Jaap

+0

もこの問題に関連しています。https://github.com/Rdatatable/data.table/問題/ 1426 – Jaap

答えて

1

最新のdata.tableアップデートでは、colClassとdropIdを同時に使用することはできません。

test_categorical <- fread(file.path(data_dir, "test_categorical.csv"), data.table=FALSE, 
          na.strings="", showProgress=TRUE,colClasses=colClasses) 

test_categorical$Id <- NULL 

私のために働いた。

関連する問題