R - データフレーム:初級者のガイド

こんにちは、将来のRプログラマーさんたち!今日は、Rにおけるデータフレームの世界に楽しい冒険をすることになります。プログラミングの経験がなくても心配しないでください。私はあなたの親切なガイドとして、ステップバイステップで進めていきます。このチュートリアルの終わりには、データフレームをプロのように操作できるようになるでしょう!

R - Data Frames

データフレームとは?

まず、データフレームとは何かを理解しましょう。スプレッドシートを思い浮かべてください。行と列がある表格です。これがRにおけるデータフレームです。各列は異なるデータ型(数値、テキスト、日付など)を含み、各行は個々のレコードを表します。

では、袖をまくって、実際のRコードを手に取りましょう!

データフレームの作成

データフレームを作成するのは、自分の個人的なデータベースを設定することと同じです。簡単な例から始めましょう:

# データフレームを作成
students <- data.frame(
name = c("Alice", "Bob", "Charlie"),
age = c(22, 25, 23),
grade = c("A", "B", "A-")
)

# 我々のデータフレームがどのようなものか見てみましょう
print(students)

このコードを実行すると以下のようになります:

name age grade
1 Alice  22     A
2   Bob  25     B
3 Charlie 23    A-

ここで何をしたかというと、studentsという名前のデータフレームを作成し、名前、年齢、成績という3つの列を設定しました。各列はベクターで、すべてのベクターは同じ長さ(この場合は3)を持つ必要があります。

データフレームの構造を確認

データフレームを作成したので、その構造を調べてみましょう。車のエンジンルームを覗くようなものです:

# データフレームの構造を取得
str(students)

これが以下のように出力されます:

'data.frame':   3 obs. of  3 variables:
$ name : chr  "Alice" "Bob" "Charlie"
$ age  : num  22 25 23
$ grade: chr  "A" "B" "A-"

これは、studentsが3つの観測値(行)と3つの変数(列)を持つデータフレームであることを示しています。また、各列のデータ型も表示されています:chrは文字列、numは数値です。

データフレームのデータの概要

データの簡単な概要を知りたい場合は、summary()関数があなたの最好的な友達です:

# データフレームの概要を取得
summary(students)

以下のようになります:

name                age           grade
Length:3           Min.   :22.00   Length:3
Class :character   1st Qu.:22.50   Class :character
Mode  :character   Median :23.00   Mode  :character
Mean   :23.33
3rd Qu.:24.00
Max.   :25.00

これは、データの統計的な概要を提供します。数値列(例えば「age」)の場合は、最小値、最大値、平均値、四分位数を表示します。文字列列の場合は、長さと型を示します。

データフレームからデータを抽出

次に、データフレームから特定のデータを抽出する方法を学びましょう。データ探偵のようになります!

# 特定の列を取得
print(students$name)

# 特定の行を取得
print(students[2,])

# 特定のセルを取得
print(students[1, "grade"])

# 複数の列を取得
print(students[, c("name", "age")])

これらのコマンドは以下のように出力します:

[1] "Alice"   "Bob"     "Charlie"

name age grade
2  Bob  25     B

[1] "A"

name age
1 Alice  22
2   Bob  25
3 Charlie 23

$演算子は、名前で列にアクセスするのに使用します。角括弧[]は、行と列を指定するのに使用します:[行, 列]。行や列を空白にすると、すべての行や列を選択します。

データフレームを拡張

データが増えてくると、データフレームに更多信息を追加することが必要になるかもしれません。見てみましょう:

# 新しい列を追加
students$height <- c(165, 180, 175)

# 新しい行を追加
new_student <- data.frame(name = "David", age = 24, grade = "B+", height = 178)
students <- rbind(students, new_student)

# 更新されたデータフレームを見てみましょう
print(students)

これが以下のように出力されます:

name age grade height
1 Alice  22     A    165
2   Bob  25     B    180
3 Charlie 23    A-    175
4  David  24    B+    178

新しい列 'height' を $演算子を使って追加し、新しい行を rbind() 関数("行結合"を意味します)を使って追加しました。

データフレーム操作の便利なメソッド

以下は、データフレームを操作するのに便利なメソッドの一覧です:

メソッド 説明
head(df) データフレームの最初の6行を表示
tail(df) データフレームの最後の6行を表示
nrow(df) 行数を取得
ncol(df) 列数を取得
names(df) 列名を取得
colnames(df) 列名を取得または設定
rownames(df) 行名を取得または設定
dim(df) 行数と列数を取得

これらを students データフレームで試してみてください!

そして、皆さん!あなたはRにおけるデータフレームの世界への第一歩を踏み出しました。練習は完璧を生みます。これらのコマンドで自分でデータフレームを作成し、異なる操作を試してみてください。何が起こるかを確認してください。

知らず知らずのうちに、あなたはデータサイエンティストのようにデータを操作するようになるでしょう。そして、誰 knows? いつか火星の植民地や海底都市からのデータを分析するかもしれません。可能性は無限です!

codingを続け、好奇心を持ち、最も重要なのは、楽しみましょう!次回まで、ハッピーレディング!

Credits: Image by storyset