

今回からしばらくは、UCI Machine Learning RepositoryにあるBlood Transfusion Service Centerのデータを使って、分類(Classification)をしてみようと思います。
Yeh, I. (2008). Blood Transfusion Service Center [Dataset]. UCI Machine Learning Repository. https://doi.org/10.24432/C5GS39.
台湾の献血センターの献血者のデータです。
データファイルは、こんな感じのものです。

いつものExcel-CSVファイルではなくて、メモ帳のテキストファイルでした。
変数は、左から順に
Recency(months) : 直近の献血から何か月経過しているか
Frequency(times) : 合計献血回数
Monetary(c.c. blood) : 合計献血量(c. c.)
Time(months) : 初回の献血から何か月経過しているか
この4つが説明変数です。
一番右が
Donated_Blood : 2007年3月に献血をしたら1、そうでないなら0
で、これが被説明変数です。
それでは、Rで分析を開始します。
まず、tidyverseパッケージを読み込みます。

メモ帳のテキストファイルを読み込むには、read_delim()関数を使います。

, でデータを区切ってあるので、delim = "," としています。
skip = 1 として1行目を読み込まないようにしています。
col_names = FALSE として、変数名が読み込むデータには無いことを指示しています。
glimpse()関数で読み込んだデータを確認します。

X1とX4が数値型でなくて、文字列型として読み込まれていますね。parse_number()関数で数値型に変換します。

rename()関数で変数名を直します。

summary()関数で各変数の基本統計量をみます。

NAの無いデータフレームです。
Donated_Bloodの平均値を見ると、0.238です。つまり、23.8%の人が2007年3月に献血をしているということですね。Frequencyの平均値は5.5回ですが、50回もしているという人もいますね。
今回は以上です。
次回は
です。
今回のコードは以下になります。
#
# tidyverseパッケージを読み込む
library(tidyverse)
#
# メモ帳のテキストファイルを読み込む
df_raw <- read_delim("transfusion.txt",
delim = ",",
skip = 1,
col_names = FALSE)
#
# 読み込んだデータの確認
glimpse(df_raw)
#
# X1とX4を数値型に変換する
df <- df_raw |>
mutate(
X1 = parse_number(X1),
X4 = parse_number(X4)
)
glimpse(df)
#
# 変数名を直す
df <- df |>
rename(Recency = X1,
Frequency = X2,
Monetary = X3,
Time = X4,
Donated_Blood = X5)
df
#
# 各変数の統計サマリー
summary(df)
#
(冒頭の画像は、Bing Image Creator で生成しました。プロンプトは、very beautiful landscape of seashore, closeup of strange form flowers, nobody is there, photo です。)