必要なパッケージのインストールと読み込み

install.packages(“readxl”)

install.packages(“dplyr”)

install.packages(“car”)

library(readxl)

library(dplyr)

library(car)

データの読み込み

data <- read_data(“survey11.xlsx”)

head(data)

str(data)

‘choice’ 列を因子型に変換

data\(choice <- factor(data\)choice, levels = c(0, 1))

‘choice’ 列の分布を確認

table(data$choice)

欠損値の確認

sum(is.na(data))

初期ロジスティック回帰モデルの作成

model <- glm(choice ~ Extraversion + Agreeableness + Conscientiousness + Neuroticism + Openness + age + income + Safety + Utility + Design + Digital + Trendiness, family = binomial(link = “logit”), data = data)

モデル結果の確認

summary(model)

多重共線性の確認

vif(model)

線形依存性の確認

alias(model)

共線性のある変数を削除したモデルの再作成

model1 <- glm(choice ~ Extraversion + Agreeableness + Conscientiousness + Neuroticism + Openness + age + income + Safety + Utility, family = binomial(link = “logit”), data = data)

新しいモデル結果の確認

summary(model1)

データの標準化

variables_to_standardize <- c(“Extraversion”, “Agreeableness”, “Conscientiousness”, “Neuroticism”, “Openness”, “age”, “income”, “Safety”, “Utility”, “Design”, “Digital”, “Trendiness”)

data_scaled <- data %>% mutate(across(all_of(variables_to_standardize), scale))

標準化後のデータ確認

summary(data_scaled)

標準化データを用いた最終モデルの作成

model2 <- glm(choice ~ Extraversion + Agreeableness + Conscientiousness + Neuroticism + Openness + age + income + Safety + Utility, family = binomial(link = “logit”), data = data_scaled)

最終モデルの結果確認

summary(model2)