0

生の数値スペースで区切られたテキスト ファイルから RData ファイルを作成しようとしています。

11 33 55
22 33 45
25 78 00 
44 87 99 ....

この新しい RData ファイルをロードし、mapreduce (rhipe) を使用してデータで線形回帰を実行する必要がある別の R スクリプトがあります。したがって、この RObject を保存するときは、次のように読み戻す必要があります。

data <- strsplit(unlist(map.values)," ")

#so that I can run regression like:
y<- unlist(lapply(data,"[[",1))
x1<-unlist(lapply(data,"[[",2))
x2<-unlist(lapply(data,"[[",3))
lm(y~x1+x2)

テーブル、リスト、as.characterなど、データをRDataオブジェクトに保存する多くの方法を試しましたが、上記の方法を使用して読み取ることができるように成功しませんでした。上記の方法で読み取ることができるように、元のファイルを保存するにはどうすればよいですか? ありがとうございました。

(ps。マッパー内のHDFSファイルから読み取っているため、load / read.table関数を使用できません)

4

1 に答える 1

0

私があなたを正しく理解していれば、保存されたオブジェクトを "number - space - number" の形式の文字列の束にしたいでしょう。その場合は、sprintf

foo <- sprintf('%d %d %d',my_data[1,])

最初の行を作成する例として。ループを実行するか*apply、配列全体を構築します。その文字列配列をRDataファイルに保存します。これは、少なくともあなたが望むものに近いはずです。
注: データの並べ替えと回帰を行う遠端のコードを改善することを提案するのは無駄だと思いますか?

于 2013-02-27T12:36:27.913 に答える