2016-07-19 5 views
2

同様に名前が付けられた.Rデータセットが多数あります。私はそれらを読み込み(私は正常に行うことができます)、何かをしてから、それらをワークスペースからすべて1つのループで削除しようとしています。私はペーストコマンドから出てくる間違ったクラスにいるので、それらを取り除くのに苦労しています。何が間違っているのか分かっていますが、コードを修正する方法はわかりませんので、提案は大歓迎です。ここではいくつかのサンプルコードは、rmの助けを貼り付けを使用してデータセットをロードおよび削除するR

for(i in 1:n){ 
    load(paste("C",i,".R",sep="")) 
    # do stuff to dataset 
    rm(paste("C",i,sep="")) #this line is clearly wrong 
} 

おかげ

答えて

4

list引数はあなたが望む何をすべきです。削除される変数名はcharacterです。だから、このようなものは動作するはずです:

for (i in 1:n) { 
    loaded <- load(paste0("C", i, ".R")) 
    # do stuff to dataset 
    rm(list = loaded) 
} 

注意を、load機能がロードされたオブジェクト(複数可)の名前でcharacterを返すこと。したがって、ロードされたオブジェクトを再度削除するときに使用できます。 loadのロードされたオブジェクトは、ネームスペースとしてファイル名に対応していません。

+2

乾杯。これは、私の実際のコード(例ではなく)のために使用していますが、 rm(list = paste( "C"、i、 ".1"、sep = "")) –

+0

@VinnyDavies 、 お役に立てて嬉しいです。私はあまりにも多くを想定していたと思う。ようこそ。 (あなたがそう思っていると答えた*印を付けることを忘れないでください) –

関連する問題