みんな。
私がやろうとしていること
R で空の ff data.frame を作成します。
詳細
R で複数の csv ファイルを読み取り、それらをバインドして 1 つの大きな data.frame を作成したいと考えています。データが非常に大きいため、ff パッケージを使用しています。
これが私のコードです。
file_list = list.files(pattern="*.csv")
library(ff)
for(i in seq_along(length(file_list)){
ffdf <- read.csv.ffdf(x=ffdf, file=file_list[i], header=T)
}
ただし、次のエラーが発生しました。
Error in `rownames<-`(x, value) :
attempt to set 'rownames' on an object with no dimensions
Google と Stackoverflow でエラー メッセージを検索しましたが、有用な結果は得られませんでした。この問題に対処する方法を知っている人はいますか?
更新 (15/2/16)
次のコードは機能しました。
library(ffbase)
library(ff)
file_list = list.files(pattern="*.csv")
lst <- lapply(file_list, function(x) read.csv.ffdf(file=x,header=TRUE))
ff1 <- Reduce(function(x,y) ffdfappend(x,y, adjustvmode=F), lst)
最初はラッピーの列はこんな感じで、うまくいきませんでした。
lst <- lapply(file_list, read.csv.ffdf, header=TRUE)
鍵は書いていfile=
ました。ff
関数は属性を明示的に示す必要があるようです。(参考:ffパッケージを利用したテキストファイルのインポート)
皆さんのお陰で!
私の環境
- Windows 7 ホーム プレミアム サービス パック 1
- R スタジオ 0.98.1091
- R バージョン 3.1.2 (2014-10-31)