Rでデータフレームを作成して操作する方法
データ分析の中心的な役割を果たすデータフレームは、R言語における基本的なデータ構造の一つです。本記事では、データフレームの作成から基本的な操作方法まで、ステップバイステップで詳しく解説します。データフレームは表形式のデータを扱う際に非常に便利であり、行と列の形式でデータを整理することができます。さまざまなデータ分析や統計処理において、データフレームを効果的に利用できるようになることは、R言語を習得する上で重要なスキルです。
データフレームとは
データフレームは、複数の列で構成され、各列には異なるデータ型(数値、文字列、論理値など)が含まれます。これは、ExcelやCSVファイルで見られるようなテーブル構造に似ており、統計分析やデータ操作に適しています。
データフレームの基本構造
データフレームは、Rのdata.frame()
関数を使用して簡単に作成できます。以下のコードは、データフレームの基本的な作成方法の例です。
# データフレームの作成 data <- data.frame( 名前 = c("田中", "鈴木", "佐藤"), 年齢 = c(28, 34, 25), 職業 = c("エンジニア", "デザイナー", "データサイエンティスト") ) # データフレームの表示 print(data)
このコードでは、3つの列(名前
、年齢
、職業
)を持つデータフレームを作成しています。それぞれの列には異なるデータ型が含まれており、文字列(名前
、職業
)と数値(年齢
)が混在しています。実行結果は次のようになります。
名前 年齢 職業 1 田中 28 エンジニア 2 鈴木 34 デザイナー 3 佐藤 25 データサイエンティスト
データフレームの基本操作
作成したデータフレームに対して、データの抽出、追加、削除、フィルタリングなど、さまざまな操作を行うことができます。以下では、代表的な操作をいくつか紹介します。
特定の列や行を抽出する
データフレームから特定の列や行を抽出するためには、インデックスを使用する方法や列名を指定する方法があります。例えば、名前
列だけを抽出したい場合、次のように記述します。
# 名前列のみを抽出 名前のみ <- data$名前 print(名前のみ)
実行結果:
[1] "田中" "鈴木" "佐藤"
行を抽出するには、行番号を指定します。例えば、2行目のデータを抽出する場合は次のようになります。
# 2行目のデータを抽出 行2 <- data[2, ] print(行2)
実行結果:
名前 年齢 職業 2 鈴木 34 デザイナー
データのフィルタリング
データフレームから特定の条件に基づいてデータを抽出することも可能です。例えば、30歳以上の人だけを抽出する場合、次のように記述します。
# 年齢が30歳以上のデータをフィルタリング 年齢30以上 <- subset(data, 年齢 >= 30) print(年齢30以上)
実行結果:
名前 年齢 職業 2 鈴木 34 デザイナー
新しい列を追加する
データフレームに新しい列を追加することも簡単です。例えば、性別
列を追加してみましょう。
# 新しい列「性別」を追加 data$性別 <- c("男性", "男性", "女性") print(data)
実行結果:
名前 年齢 職業 性別 1 田中 28 エンジニア 男性 2 鈴木 34 デザイナー 男性 3 佐藤 25 データサイエンティスト 女性
データフレームの結合と整形
複数のデータフレームを結合したり、データを再整形する操作もRではよく使われます。
データフレームの結合
2つのデータフレームを列方向に結合する場合、cbind()
関数を使用します。行方向に結合する場合は、rbind()
関数を使います。
# 別のデータフレームを作成 新しいデータ <- data.frame(収入 = c(500, 600, 450)) # 列方向にデータフレームを結合 結合データ <- cbind(data, 新しいデータ) print(結合データ)
実行結果:
名前 年齢 職業 性別 収入 1 田中 28 エンジニア 男性 500 2 鈴木 34 デザイナー 男性 600 3 佐藤 25 データサイエンティスト 女性 450
まとめ
本記事では、Rでデータフレームを作成し、基本的な操作を行う方法について学びました。データフレームは、Rでデータを整理し、分析するための非常に強力なツールです。これを使いこなすことで、データの可視化や統計分析を効率的に進めることができるでしょう。次に進むべきステップとして、データフレームを使った高度な分析やデータの可視化に挑戦してみてください。