6

以下のコードでは、LETTERS と文字がグローバルであるか、グローバル検索パスにあり、別のパッケージから到達可能です (同じことです!)

> 手紙
 [1] "A" "B" "C" "D" "E" "F" "G" "H" "I" "J" "K" "L" "M" "N" "O" "P 「Q」「R」「S」
[20] 「T」「U」「V」「W」「X」「Y」「Z」
> 文字
 [1] "a" "b" "c" "d" "e" "f" "g" "h" "i" "j" "k" "l" "m" "n" "o" "p 「q」「r」「s」
[20] 「t」「u」「v」「w」「x」「y」「z」
> ls()
キャラクター(0)
> a <- "1 2 3"
> ls()
[1]「あ」
> rm(a)
> ls()
キャラクター(0)
>

4

5 に答える 5

11

?ls同じ理由で、添付されたすべてのパッケージ (から)のすべてのエクスポートされた関数を一覧表示するわけではありません。

デフォルトでは、'ls' または 'objects' の呼び出しの環境が使用されます。

その名前を含みLETTERS、出力lsする環境を指定します。

# LETTERS is in there somewhere...
sapply(search(),ls)
于 2012-09-19T15:55:23.477 に答える
7

読んで?LETTERSみると、これらはデータ オブジェクトではなく定数であることがわかります。そのページには、これらの定数がbase名前空間にあることも示されています。それらを一覧表示するにはls()、その名前空間を調べるように指示する必要があります。

> ls(name = "package:base", pattern = "LETTERS")
[1] "LETTERS"
> ls(name = "package:base", pattern = "letters")
[1] "letters"
于 2012-09-19T15:59:12.370 に答える
6

特定のモードのオブジェクトを表示し、正規表現検索パターンを念頭に置いている場合は、 を使用して探索できますapropos。どのくらい見つかるか少し不安だったので、最初にこの作業の長さを確認しましたが、それはわずか 30 でした。これが、現時点で私のワークスペースで見つかったすべての文字ベクトルです。「letters」と「LETTERS」の両方が表示されることに注意してください。

apropos(what="^", mode="character")
 [1] ".Depends"             ".Depends"             ".Depends"             ".Depends"            
 [5] ".Depends"             ".Depends"             ".Depends"             ".Depends"            
 [9] ".Depends"             ".Depends"             ".Depends"             ".Depends"            
[13] ".Device"              ".Firstlib_as_onLoad"  ".knownS3Generics"     ".Library"            
[17] ".Library.site"        ".S3PrimitiveGenerics" "blues9"               "letters"             
[21] "LETTERS"              "month.abb"            "month.name"           "p.adjust.methods"    
[25] "R.version.string"     "sas.get.macro"        "state.abb"            "state.name"          
[29] "tm"   

新しいセッションでこれを行った場合、多くの ".Depends" は得られません。他のビルトインの多くはここに表示されますが、「pi」は文字モードではないため欠落しています。私のマシンで「pi」を探しに行くと、その位置は 25 であり、search() を使用するまであまり意味がありません。

> search()[as.numeric(names(apropos(what="^pi", mode="numeric",where=1)))]
[1] "package:base"
# Removing the numeric restriction
> search()[as.numeric(names(apropos(what="^pi",where=1)))]
 [1] "package:base"      "package:utils"     "package:lubridate" "package:grDevices" "package:graphics" 
 [6] "package:graphics"  "package:MASS"      "package:MASS"      "package:MASS"      "package:base"     

したがって、これらのパッケージにはすべて、「pi」で始まるオブジェクト (主に関数) があります。数字の位置は、読み込まれたパッケージの数によって異なります。最近読み込まれたパッケージの数字が小さいほど、「ベース」の検索位置が高くなるからです。

于 2012-09-19T16:07:06.910 に答える
6
apropos("letters",where=TRUE)
        9         9 
"letters" "LETTERS" 

検索リストの 9 番目の位置にあることを示します。つまり、

search()
[1] ".GlobalEnv"        "package:stats"     "package:graphics" 
[4] "package:grDevices" "package:utils"     "package:datasets" 
[7] "package:methods"   "Autoloads"         "package:base"

baseパッケージ。

于 2012-09-19T15:55:37.870 に答える
3

それらは組み込みのデータオブジェクトであるためです。通常の変数に通常の割り当てを行うと、次のように表示されます。

R> myLETTERS <- LETTERS
R> ls()
[1] "myLETTERS"
R> 

ランニング

R> data()

利用可能なすべてのデータセットを表示します。詳細help(data)については、グローバル環境ではなく特定の環境でデータを検索する方法などを参照してください。

于 2012-09-19T15:53:31.297 に答える