Exploratory コミュニティ

Exploratoryでコレスポンデンス分析は実行できますか?

#1

Exploratoryでコレスポンデンス分析は実行できますか?との質問がありました。

参考資料

もし、既にご存知の方、興味があり試してみた方は
Exploratoryで実施する方法を是非コメントください!

#2

@Takato_Shiroto

以前、Exploratoryでコレスポンデンス分析のbiplotを試しに作ったものがあったので、サンプルのスクリプトを共有しておきます!コレスポンデンス分析で何をしたいのかわからないので、用途に合うかわかりませんが…。

条件は下記のとおりです

  • コレスポンデンス分析のbiplotを作るためのもの
  • サンプルなので、もろもろデータの値の入力チェックとか書いてないです
  • FactoMineRパッケージのCA()を利用
  • コレスポンデンス分析のbiplotを作るためのもの
  • 固有値、行列プロファイルの値、平方相関、累積寄与率の値は出してない

サンプルデータ

スコットランドのケイスネスに住む人々の目と髪の色の5387人分のデータ。

20

クロス集計するとこんな感じ。

36

コレスポンデンス分析を実行する関数の作成

Exploratoryのスクリプトを下記に登録。

do_ca <- function(data, row, col){
  t <- table(row = data[[row]], col = data[[col]])
  
  res_ca <- FactoMineR::CA(X = t, graph = FALSE)
  res_ca_row <- res_ca$row$coord %>% as.data.frame() %>% tibble::rownames_to_column("category") %>% dplyr::mutate(row_col = "row")
  res_ca_col <- res_ca$col$coord %>% as.data.frame() %>% tibble::rownames_to_column("category") %>% dplyr::mutate(row_col = "col")
  
  df <- dplyr::bind_rows(res_ca_row, res_ca_col)
  return(df)
}

コレスポンデンス分析の実行

ステップのカスタムRコマンドで下記を実行。

# 表側をhair、表頭をeyeに設定
do_ca(data = ., row = 'hair', col = 'eye')

10

biplotの作成

コレスポンデンス分析の実行結果を使って、チャートビューからbiplotを作成。

41

誰かの参考になれば幸いです。

2 Likes
#3

わさび様と似たような形にはなってしまいましたが、コレスポンデンス分析のやり方をノートにしてみたのでよかったら ^^

3 Likes
#4

わさびさん、古田さん
教えていただきありがとうございました。
どちらも非常にわかりやすく、私もすぐに試すことができました。

ご質問いただいた方にも、早速共有させていただきました!!

1 Like