1

多くのファイルを読み込んで、それらのデータを変換する必要があります。各ファイルには が 1 つしか含まれていませdata.tableんが、テーブルにはさまざまな名前が付けられています。

すべてのファイルに対して 1 つのスクリプトを実行したいと考えています。そのためには、unknowndata.tableを共通の名前に割り当てる必要がありますblob

Rこれを行う方法は何ですか?現時点では、私の最善の推測 (これはハックのように見えますが、機能します) をdata.table新しい環境にロードしてから: assign('blob', get(objects(envir=newEnv)[1], env=newEnv).

再現可能なコンテキストでは、これは次のとおりです。

newEnv <- new.env()
assign('a', 1:10, envir = newEnv)
assign('blob', get(objects(envir=newEnv)[1], env=newEnv))

より良い方法はありますか?

4

2 に答える 2

2

次のように data.tables を保存したと仮定しますsave()

d1 <- data.table(value=1:10)
save(d1, file="data1.rdata")

問題は、ファイルをロードするときに、ファイルを保存するときに使用した名前 (ここでは d1) がわからないことです。正しい?

saveRDS()代わりに、readRDS()単一のオブジェクトの保存/読み込みに使用することをお勧めします:

d1 <- data.table(value=1:10)
saveRDS(d1, file="data1.rds")
blob <- readRDS("data1.rds")
于 2013-01-09T13:10:52.550 に答える