私はしばしば、出力データ型を理解していない出力を生成する関数になります。私はリストを期待していますが、それはリストのリストやデータフレームなどになります。最初に関数を使用するときに出力データ型を把握するための良い方法またはワークフローは何ですか?
私は通常、いくつかの組み合わせから始めます:
typeof(obj)
class(obj)
sapply(obj, class)
sapply(obj, attributes)
attributes(obj)
names(obj)
明らかになったことに基づいて、必要に応じて。たとえば、次を試してください。
obj <- data.frame(a=1:26, b=letters)
obj <- list(a=1:26, b=letters, c=list(d=1:26, e=letters))
data(cars)
obj <- lm(dist ~ speed, data=cars)
..等。
obj
がS3またはS4オブジェクトの場合、methods
またはshowMethods
、showClass
などを試すこともできます。PatrickBurns ' R Inferno hasこれについてはかなり良いセクションです(セクション7)。
編集:DirkとHadleyは回答でstr(obj)
に言及しています。オブジェクトを素早く、さらに詳細に覗くためには、上記のどれよりもはるかに優れています。
str(x)
99%のケースについて覚えておく必要があるのはそれだけです。
「someObject」を取得した場合、次のように言います
someObject <- myMagicFunction(...)
それから私は通常
class(someObject)
str(someObject)
これには、所有するクラスに応じて、head()、summary()、print()、...が続きます。
attributes(someObject)
役に立つこともあります