名前がすべて "results_"で始まり、多くが0であるnrow
の長さの異なるオブジェクトの束を反復して作成したループを実行しました。R環境で基準に適合しないオブジェクトを削除する
処理するためにオブジェクトのリストを簡単にするために、私は、そのnrow
0に等しい。私はこの1つに類似の質問のために提供のさまざまなソリューションの下にしようとした任意のオブジェクトを削除したいが、どれも私のために働いていません具体的事例。私は間違って何をしていますか?
Attempt 1: rm(list=ls(all=TRUE)[sapply(mget(ls(all=TRUE)), function(x) nrow(x) == 0)])
Attempt 2: rm(list=ls()[!sapply(mget(ls(),.GlobalEnv), function(x) { nrow(x) == 0 })])
rm(list=
Filter(
Negate(is.na), # filter entries corresponding to objects that don't meet function criteria
sapply(
ls(pattern="^results_"), # only objects that start with "results_"
function(x) if(nrow(x) == 0) x else NA # return names of objects of nrow length 0
)))
"_結果" 'RM(リスト=のLS(パターン=を試してみてください)[sapply(LS(パターン= "results_")、機能(x)はNROW(取得(X)) )== 0]) ' –
@dbありがとうございました!答えとして提出すれば、私はそれをチェックします。また、なぜ「NROW」が動作しているのか、「NROW」は動作していないのか分かりません。 – Phil
これは、典型的な[X/Yの問題](https://meta.stackexchange.com/questions/66377/what-is-the-xy-problem)である:本当の問題は、あなたがそのような要素を作成すべきではないということです最初の場所に!代わりに、リストとデータフレームでデータを整理します。 –