1. ホーム
  2. r

[解決済み] Rオブジェクトの識別

2022-08-05 22:22:34

質問

出力データ型を理解していない関数が出力されることがよくあります。私はリストを期待していると、それはリストのリストまたはデータフレームまたは何か他のもので終わります。最初に関数を使用するときに出力データ型を把握するための良い方法またはワークフローは何ですか?

どのように解決するのですか?

私は通常、いくつかの組み合わせで開始します。

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 など。 パトリック・バーンズの R インフェルノ には、これに関するかなり良いセクションがあります(sec #7)。

EDIT : ダークとハドレーについて言及 str(obj) について触れています。 オブジェクトを素早く、さらに詳細に覗き見るには、上記のどれよりも本当に優れています。