データ入門:CSV読み込み、確認、summary、基本グラフ

データをRに渡し、中身を見て、最初のヒストグラム・散布図・箱ひげ図まで進みます。

このページの目次

このページのゴールは、CSVを読み込み、データ構造を確認し、簡単な要約とグラフを出して「何が見えそうか」を言葉にすることです。

練習用CSV

まずはサンプルデータで練習できるように、サイト内に小さなCSVを置いています。sample-data/sample_students.csv をダウンロードして、Project フォルダの中に入れてください。

  • group:A / B の2群
  • study_hours:勉強時間
  • score:得点
  • satisfaction:満足度(1〜5)

CSVを読み込む

最初は read.csv() を覚えれば十分です。ファイルが見つからない場合は、作業ディレクトリがずれていないかを確認してください。

Import
getwd()
list.files()

df <- read.csv("sample-data/sample_students.csv", header = TRUE)
df

GUI で選びたいときは file.choose() を使っても構いません。

読み込んだら最初に見るもの

データを読んだら、いきなり分析に進まず、中身を確認します。View()、head()、tail()、str() を最初に使います。

Inspect
View(df)
head(df, n = 5)
tail(df, n = 5)
str(df)

整然データの基本

基本は「1列 = 1変数」「1行 = 1観測」「1セル = 1値」です。あとで集計しやすくなるので、まずはこの形を意識すると迷いにくくなります。

  • score は得点だけを持つ列
  • group は群だけを持つ列
  • 複数の情報を1セルに詰め込まない

まず summary() を打つ

最初の全体把握には summary() が便利です。数値列なら最小値、中央値、平均、最大値などをすぐ確認できます。

Summary
summary(df)
mean(df$score)
median(df$score)
sd(df$score)

# 余裕があれば
# install.packages("psych")
# library(psych)
# psych::describe(df)

カテゴリ列は table() で数える

名義尺度や順序尺度の列では、まず度数を確認します。

Table
table(df$group)
table(df$gender)
table(df$satisfaction)

必要な部分だけ抜き出す

データが多く、全体を確認するのに時間がかかるときは、条件を付けて一部だけ見ます。まずは subset() で十分です。

Subset
df_A <- subset(df, group == "A")
df_B <- subset(df, group == "B")
summary(df_A$score)

まず描く3種類のグラフ

最初の可視化は、ヒストグラム(分布)、散布図(関係)、箱ひげ図(中央値・外れ値・ばらつき) で十分です。

ヒストグラム

hist()
hist(df$score,
  main = "Histogram of Score",
  xlab = "Score",
  col = "skyblue",
  border = "white")

散布図

plot()
plot(df$study_hours, df$score,
  main = "Study Hours vs Score",
  xlab = "Study Hours",
  ylab = "Score",
  pch = 19,
  col = "tomato")

箱ひげ図

boxplot()
boxplot(score ~ group,
  data = df,
  main = "Score by Group",
  ylab = "Score",
  col = c("#bfd4ff", "#2f67d8"))

補足:図を読む練習

最初は「うまく読めなくても普通」です。まずは 高そう / 低そう / ばらついていそう / かたまりがありそう といった言葉でOKです。

CSVを書き出す

少し加工した結果を保存したいときは write.csv() を使います。

Export
write.csv(df_A, "students_group_A.csv", row.names = FALSE)

ミニ課題

  • CSVを読み込む
  • summary(df) を打つ
  • ヒストグラム、散布図、箱ひげ図を各1つ描く
  • 気づきを3つ書く