COLOR(red){SIZE(30){有用と思われるが分類困難な Tips}}

タイトル通りのチップス集。他に適当な場所を思いついたら移動するかも知れません。
~
#contents
~

** 関数オブジェクト以外のすべてオブジェクトを一括消去 (2004.1.26 r-help 記事より)


 rm(list=ls()[!sapply(ls(), FUN=exists, mode="function")])

すべてのオブジェクトの消去は rm(list=ls()) です。rm(list=c("A","B")) はオブジェクト A,B を消去します。

ちなみになにをしているかというと、ls() で得られる総オブジェクト名の文字列ベクトルにたいし、exists 関数で function というモードかどうかを検査し、結果の論理値ベクトルを否定(従って関数オブジェクトだけが FALSE になる)し、それ以外の TRUE に対応するオブジェクトを rm 関数で消去。例えば現在の私のワーキング領域では次のようになっています。

 > !sapply(ls(), FUN=exists, mode="function")
           A            a            b            f           fR           fd
        TRUE         TRUE         TRUE        FALSE        FALSE         TRUE
         fdd           fg          fgh       fitlm0       fitlm1       fitlm3
       FALSE        FALSE        FALSE         TRUE         TRUE         TRUE
      fitlm4           fx            i           jj           lR last.warning
        TRUE        FALSE         TRUE         TRUE         TRUE         TRUE
         lm1          lm2           mf        nlm.f       nlm.f2         nlm1
        TRUE         TRUE        FALSE         TRUE         TRUE        FALSE
        nlm2         nlm3         nlm4         nlm5       nlm5.f           op
       FALSE         TRUE         TRUE         TRUE         TRUE         TRUE


トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS