R - データフレーム:初級者のガイド
こんにちは、将来のRプログラマーさんたち!今日は、Rにおけるデータフレームの世界に楽しい冒険をすることになります。プログラミングの経験がなくても心配しないでください。私はあなたの親切なガイドとして、ステップバイステップで進めていきます。このチュートリアルの終わりには、データフレームをプロのように操作できるようになるでしょう!
データフレームとは?
まず、データフレームとは何かを理解しましょう。スプレッドシートを思い浮かべてください。行と列がある表格です。これが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