R: is.numeric 関数の使い方: データフレームには使えない

UB3/informatics/r/if_statement

このページの最終更新日: 2024/03/08

  1. 概要: R の is.numeric() 関数
  2. その他関連する事項

広告

概要: R の is.numeric() 関数

R にはデータに数値、文字列などの型がある (参考: R オブジェクトのデータ型一覧)。あるデータが数値であるかどうかを判断し、TRUE または FALSE を返すのが is.numeric() 関数だが、その使い方で困ったことがあったので、参考にまとめておく。

なお、R には整数 integer と 浮動小数点数型 double があり、この 2 つが数値 numeric である。

意識していなかったのは、is.numeric() 関数はベクターにしか使えない ということである。大きくて全部見ることが難しいデータフレームに対して使っており、全部数値のはずなのに FALSE が帰ってくるので混乱した。

組み込みデータセット trees を使って例を示す。31 本の木について、胴回り Girth、高さ Height、容積 Volume を調べたデータで、以下のようにデータは全て数値である。

Rの組み込みデータセット trees

以下のように、$ 記号を使って列を選択すると、その部分はベクターになる。それぞれの列では TRUE が帰ってくるが、Trees 全体では FALSE となる。

trees[1] のようにカギカッコで列を選ぶと、その列はデータフレームになる。この場合、is.numeric() は FALSE を返すが、pull() でベクターに変換すれば大丈夫。


その他関連する事項

str() 関数を使うと、それぞれの列がどのデータ型であるかを表示してくれる。

また、apply() 関数を以下のように使うと、それぞれの列がどのデータ型であるかを表示してくれる (1)。apply() は行列、データフレームを対象にし、行ごと or 列ごとに対して演算 f を行う便利な関数である。この関数の詳細は、apply() 関数のページ を参照のこと。


広告

References

  1. 生物統計学 apply ファミリー. Link: Last access 2024/03/01.

コメント欄

サーバー移転のため、コメント欄は一時閉鎖中です。サイドバーから「管理人への質問」へどうぞ。