ls()
「のすべてのオブジェクトについて、プロンプトに入力した場合に何が表示されるかを確認したい」という意味の「表示」を意味しますか?1000x10000のマトリックスがある場合はどうなりますか?それでも印刷したいですか?私は個人的に好きですls.str()
-それはすべての素晴らしい簡潔な概要を与えて、そして私がちょうど上手に述べたケースを処理すると思います。
ただし、プロンプトにそれぞれを入力するという意味で基本的にすべてのオブジェクトを「表示」したい場合は、ループをお勧めします。
for ( obj in ls() ) { print(get(obj)) }
ls()
変数名の文字ベクトルを返すのでget(obj)
、名前がにある変数を取得するを使用する必要がありますobj
。
変数名も出力するために、これのバリエーションを実行することをお勧めします。
for ( obj in ls() ) { cat('---',obj,'---\n'); print(get(obj)) }
例として:
> a <- 1
> b <- LETTERS[1:10]
> c <- data.frame(a=LETTERS[1:10],b=runif(10))
> for ( obj in ls() ) { cat('---',obj,'---\n'); print(get(obj)) }
--- a ---
[1] 1
--- b ---
[1] "A" "B" "C" "D" "E" "F" "G" "H" "I" "J"
--- c ---
a b
1 A 0.1087306
2 B 0.9577797
3 C 0.8995034
4 D 0.1434574
5 E 0.3548047
6 F 0.1950219
7 G 0.1453959
8 H 0.4071727
9 I 0.3324218
10 J 0.4342141
ただし、これには欠点があります。次に電話をかけると、ls()
そこobj
にがあります。ただし、いくつかの回避策があると確信しています。
とにかく、私はまだls.str()
大きなオブジェクトを処理する方法を好むと思います(しかし、私はたくさんの巨大な(数百万の要素)行列を扱うので、それが私の好みです)。