5

を使用して別のプログラムに渡すデータ フレームがありますsystem()。現在の設定では、まずデータフレームの内容をテキスト ファイルに書き込み、system()作成したテキスト ファイルをコマンドで検索します。

df1 <- runif(20)
write(df1, file="file1.txt")
system("myprogram file1.txt")

2 つの質問があります。

1) テキスト ファイルを書き込まずに直接データフレームを渡す方法はありますか?

2)そうでない場合、ファイルをディスクに書き込まずに、データをテキスト形式のエンティティとしてメモリに渡す方法はありますか?

提案をありがとう。

4

1 に答える 1

7

R が接続を呼び出すすべてのものに書き込むことができ、それにはネットワーク ソケットが含まれます。

したがって、プロセス A はネットワークに書き込むことができ、プロセス B はディスク上のファイルを使用せずにそれを読み取ることができますhelp(connections)

ここでの一般的なトピックはシリアル化であり、R がそれを行います。また、データ構造に関するメタデータをエンコードするツールを使用して、他のプログラムにデータを渡すこともできます。たとえば、Google の Protocol Buffers (R ではRProtoBufパッケージによってサポートされています) などです。

于 2012-08-15T15:55:17.433 に答える