R: is.numeric 関数の使い方: データフレームには使えない
UB3/informatics/r/if_statement
このページの最終更新日: 2024/09/30広告
概要: R の is.numeric() 関数
R にはデータに数値、文字列などの型がある (参考: R オブジェクトのデータ型一覧)。あるデータが数値であるかどうかを判断し、TRUE または FALSE を返すのが is.numeric() 関数だが、その使い方で困ったことがあったので、参考にまとめておく。
なお、R には整数 integer と 浮動小数点数型 double があり、この 2 つが数値 numeric である。
意識していなかったのは、
組み込みデータセット trees を使って例を示す。31 本の木について、胴回り Girth、高さ Height、容積 Volume を調べたデータで、以下のようにデータは全て数値である。
以下のように、$ 記号を使って列を選択すると、その部分はベクターになる。それぞれの列では TRUE が帰ってくるが、Trees 全体では FALSE となる。
trees[1] のようにカギカッコで列を選ぶと、その列はデータフレームになる。この場合、is.numeric() は FALSE を返すが、pull() でベクターに変換すれば大丈夫。
その他関連する事項
str() 関数を使うと、それぞれの列がどのデータ型であるかを表示してくれる。
また、apply() 関数を以下のように使うと、それぞれの列がどのデータ型であるかを表示してくれる (1)。apply() は行列、データフレームを対象にし、行ごと or 列ごとに対して演算 f を行う便利な関数である。この関数の詳細は、apply() 関数のページ を参照のこと。
広告
References
- 生物統計学 apply ファミリー. Link: Last access 2024/03/01.
コメント欄
サーバー移転のため、コメント欄は一時閉鎖中です。サイドバーから「管理人への質問」へどうぞ。