Rのデータフレームから特定の型の列を抽出する方法をお伝えします。

サンプルデータとして、irisを用います。
データフレームの構造をstr関数で確認します。


> str(iris)
'data.frame':	150 obs. of  5 variables:
 $ Sepal.Length: num  5.1 4.9 4.7 4.6 5 5.4 4.6 5 4.4 4.9 ...
 $ Sepal.Width : num  3.5 3 3.2 3.1 3.6 3.9 3.4 3.4 2.9 3.1 ...
 $ Petal.Length: num  1.4 1.4 1.3 1.5 1.4 1.7 1.4 1.5 1.4 1.5 ...
 $ Petal.Width : num  0.2 0.2 0.2 0.2 0.2 0.4 0.3 0.2 0.2 0.1 ...
 $ Species     : Factor w/ 3 levels "setosa","versicolor",..: 1 1 1 1 1 1 1 1 1 1 ...

データフレームから特定の型の列を抽出するには、baseに含まれるFilter関数を用います。
Filter関数の第一引数に特定の型を確認する関数を指定し、第二引数に対象のデータフレームを指定します。

因子型の抽出

データフレームから因子型の列を抽出するには、Filter関数の第一引数にis.factor関数を指定します。
サンプルデータで因子型の列を抽出した結果は次になります。


> ext <- Filter(is.factor, iris) 
> str(ext)
'data.frame':	150 obs. of  1 variable:
 $ Species: Factor w/ 3 levels "setosa","versicolor",..: 1 1 1 1 1 1 1 1 1 1 ...

数値型の抽出

データフレームから数値型の列を抽出するには、Filter関数の第一引数にis.numeric関数を指定します。
サンプルデータで数値型の列を抽出した結果は次になります。


> ext <- Filter(is.numeric, iris) 
> str(ext)
'data.frame':	150 obs. of  4 variables:
 $ Sepal.Length: num  5.1 4.9 4.7 4.6 5 5.4 4.6 5 4.4 4.9 ...
 $ Sepal.Width : num  3.5 3 3.2 3.1 3.6 3.9 3.4 3.4 2.9 3.1 ...
 $ Petal.Length: num  1.4 1.4 1.3 1.5 1.4 1.7 1.4 1.5 1.4 1.5 ...
 $ Petal.Width : num  0.2 0.2 0.2 0.2 0.2 0.4 0.3 0.2 0.2 0.1 ...

複数の型の抽出

データフレームから複数の型の列を抽出するには、Filter関数の第一引数に独自の関数を作成して指定します。
例えば、因子型と数値型の列を抽出するには、次のようなコードになります。


> ext <- Filter(function(x){any(is.factor(x), is.numeric(x))}, iris) 
> str(ext)
'data.frame':	150 obs. of  5 variables:
 $ Sepal.Length: num  5.1 4.9 4.7 4.6 5 5.4 4.6 5 4.4 4.9 ...
 $ Sepal.Width : num  3.5 3 3.2 3.1 3.6 3.9 3.4 3.4 2.9 3.1 ...
 $ Petal.Length: num  1.4 1.4 1.3 1.5 1.4 1.7 1.4 1.5 1.4 1.5 ...
 $ Petal.Width : num  0.2 0.2 0.2 0.2 0.2 0.4 0.3 0.2 0.2 0.1 ...
 $ Species     : Factor w/ 3 levels "setosa","versicolor",..: 1 1 1 1 1 1 1 1 1 1 ...

関連する記事

  • これだけは抑えておきたい安全性分析の基本これだけは抑えておきたい安全性分析の基本 安全性分析とは、主に貸借対照表上の数値から支払能力を測定する分析である。企業が倒産する主な原因は資金不足によって起こるため、様々な観点から資金の状況を把握する必要がある。 ここでは、安全性分析の代表的な指標をいくつか紹介する。 流動比率 流動比率とは、1年以内に資金化できる流動資産と1年以内に返済しなければならない流動負債との比率から支払能力をみる指標である。 […]
  • 適切な回答を得るためのアンケートの作り方適切な回答を得るためのアンケートの作り方 アンケートは正しく質問をしないと、適切な回答が得られずにアンケートが持つ情報の価値が半減すると言っても過言ではない。 アンケートを回答しているときの気持ちを思い出して欲しい。おそらく、さっさと終わらせようと思いながら回答用紙に記入しているのではないだろうか。 あなたが質問者の側になったときは、この気持ちを常に念頭に置いて質問を考えよう。 ここでは、質問を作成 […]
  • WindowsにMariaDBをインストールする手順WindowsにMariaDBをインストールする手順 WindowsにMariaDBをインストールする手順についてお伝えいたします。 ファイルのダウンロード MariaDBのインストールファイルをダウンロードするために、次のサイトに移動します。 MariaDB.org - Supporting continuity and open […]
  • RStudioのエディタテーマ一覧RStudioのエディタテーマ一覧 RStudio(ver 1.0.153)のエディタテーマの一覧をご紹介します。 Ambiance Chaos Chrome Clouds Midnight Clouds Cobalt Crimson Editor Dawn Dreamweaver Eclipse Idle Fingers Katzenmilch Kr […]
  • R言語 CRAN Task View:関数データ解析R言語 CRAN Task View:関数データ解析 CRAN Task View: Functional Data Analysisの英語での説明文をGoogle翻訳を使用させていただき機械的に翻訳したものを掲載しました。 Maintainer: Fabian Scheipl Contact: fabian.scheipl at […]
R データフレームから特定の型の列を抽出する方法