井出草平の研究ノート

全ての組み合わせでクロス集計表分析を行う[R]

Phind(https://www.phind.com/)を利用してデータに含まれる変数の全組み合わせのクロス集計表分析を実行するコードを書いてもらった。

まず、ダミーデータを作成。

set.seed(123)
df <- data.frame(matrix(sample(0:2, 100, replace = TRUE), nrow = 10))
colnames(df) <- paste0("Var", 1:10)

データフレームdfに含まれる変数の全組み合わせを計算して、csv形式で出力する。

library(stats)
results <- data.frame(variable1 = character(),
                      variable2 = character(),
                      chi_squared = numeric(),
                      p_value = numeric(),
                      stringsAsFactors = FALSE)

for (i in 1:(ncol(df)-1)) {
  for (j in (i+1):ncol(df)) {
    cross_table <- table(df[,i], df[,j])
    chi_squared_test <- chisq.test(cross_table, correct = FALSE)
    results <- rbind(results, data.frame(variable1 = colnames(df)[i],
                                         variable2 = colnames(df)[j],
                                         chi_squared = chi_squared_test$statistic,
                                         p_value = chi_squared_test$p.value,
                                         stringsAsFactors = FALSE))
  }
}

write.csv(results, "results.csv", row.names = FALSE)

結果

問題なく計算されている。

Phindで用いたコマンド

Rのコードを作成してください。 まず、下記のダミーデータを作成してください。名義尺度の変数が10個含まれたデータフレームがあります。それぞれの変数は2値もしくは3値の値を取っています。ケース数は10です。次に解析を行います。最初に警告し表示しないようにコードを書いてください。ダミーデータの中から2つの変数を選び、カイ二乗検定を行います。すべての組み合わせで行ってください。出力としてカイ二乗値、P値を示してください。csvファイルとして書き出してください。