2017-01-19 10 views
1

のリストを入手するにはどうすればいいですか現在のスコープで見つかることができる未修飾の名前はありますか?現在のスコープで見つかることができる未修飾の名前のリストを取得するにはどうすればよいですか?


あなたの答えはlsであれば、私はlsに渡す必要があります正確に何の引数/オプションを指定してください。同義語はobjectsです。

は例えば、library(splines)を実行した後、私は結果が("library"と一緒に、と"c"、そして"matrix"、デフォルトで有効範囲内にある他のすべての識別子)"backSpline"が含まれることをlsにどのような引数を渡す必要があります。


ここでは、明確さの欠如のためにこの質問を締め切るように投票した人の説明があります。

次の手順に従ってください。上記のステップの終わりに

## 1. Start an `R` session like this (or the equivalent for your system): 

% R_PROFILE_USER= /usr/bin/R --quiet 
> 

## 2. Evaluate the following expression, and note that there's no error; 
## (BTW, `c` is an example of an unqualified name) 

> class(c) 
[1] "function" 

## 3. Evaluate the following expression, and note the "not found" in the error 
## message; (`backSpline` is also an unqualified name) 

> class(backSpline) 
Error: object 'backSpline' not found 

## 4. Evaluate the following expression, and note that this time there is no 
## error; (`splines::backSpline` is an example of a qualified name) 

> class(splines::backSpline) 
[1] "function" 

## 5. Evaluate the following expression 

> library(splines) 

## 6. Now, once again, evaluate the expression from (4) above, and note that 
## there's no error 

> class(backSpline) 
[1] "function" 

## 7. (Optional) Confirm that evaluating the expression from (2) still produces 
## no error 

> class(c) 
[1] "function" 

(それは冒頭にされなかった(3)のエラーメッセージに応じて)、名前backSplineは、現在のスコープに「見つかった」されています。対照的に、常に、現在のスコープではcが見つかりました。

私は、現在のスコープで "見つかった"すべての名前を含むリスト(または、より正確には、文字列のベクトル)に評価される式を探しています。この式が上記(5)の前のポイントで評価された場合、結果のリストには文字列"c"が含まれていて、でないとには文字列"backSpline"が含まれている必要があります。上記(5)の直後に評価された場合は、文字列"c""backSpline"の両方が含まれている必要があります。

上記がまだ十分ではない場合は、まだ理解していないことを覚えておいてください。

+1

私はあなたを正しく理解すれば、それは非常に多くの機能です。これを試すことができます: 'f < - c(); for(s in search()){f < - append(f、ls(s))}これはあなたが望むことをしますか? – Chrisss

+1

たぶん 'apropos("。 ")'?たぶん 'where = TRUE'?あなたは「非修飾」の名前が何を意味するのかよくわかりません。 – Gregor

+0

これがあなたが探しているものかどうか確認してください:http://stackoverflow.com/a/38448219/1691723 – Sathish

答えて

1

あなたのように聞こえますapropos検索文字列を指定する必要がありますが、""または"."はすべて一致する必要があります。

コメントで指摘されているように、これは基本的にunlist(sapply(search(), ls, all.names = T))のラッパーです。これは、特定の添付された名前空間だけを検索したい場合に役立つので、理解すると便利です。

関連する問題