R logo

先日、多重ロジスティック回帰分析を行っていて、下記の様に入力していたら、

model <- glm(LATE ~ Age + Sex + DLBType + ADNC, data = Data_L)

下記のエラーが出た。

Error in glm.fit(x = c(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,  :  NA/NaN/Inf in 'y'

 

なんだこれ?と思って検索したら、

「glm 関数で factor は使えないよ。」

という回答あり。

あ、そうだった……

ということで、factor にしていた部分を全て numeric に変換し、

Data_L$Sex <-plyr::revalue(as.character(Data_L$Sex), c("Male"="0", "Female"="1")) %>%
 as.numeric()
Data_L$LBDType <- plyr::revalue(as.character(Data_L$LBDType), c("Brainstem Predominant"="1", "Transitional or Limbic"="2", "Diffuse or Neocortical"="3")) %>%
 as.numeric()
Data_L$ADNC <- plyr::revalue(as.character(Data_L$ADNC), c("Not"="0", "Low"="1", "Intermediate"="2", "High"="3")) %>%
 as.numeric()

glm 関数に

family=binomial

を追加した。

model <- glm(LATE ~ Age + Sex + LBDType + ADNC, family = binomial, data = Data_L)



無事解決。