ロジスティック回帰を実行すると、次の 2 つの主要な問題が発生しました。
immigrant
私の X 変数には、移民ステータス ( 、non-immigrant
)などの因子変数が含まれています。私の Y 変数は二項変数、低出生体重児 ( non-lbw
、lbw
) です。
次の R スクリプトを実行します (plsRglm
パッケージを使用しています)。
library(plsRglm)
model.plsrglm <- plsRglm(yair, xair, 3, modele="pls-glm-logistic")
1) y または x のすべての値を削除しない場合NA
、R は次のように返します。
summary(model.plsrglm)
Call
plsRglmmodel.default(dataY = yair, dataX = xair, nt = 6,
modele = "pls-glm-logistic")
> model.plsrglm
Number of required components:
NULL
Number of successfully computed components:
NULL
Coefficients:
NULL
Information criteria and Fit statistics:
NULL
2) モデルを実行する前にすべての値を削除するとNA
、R はエラーを返します。
Error in colMeans(x, na.rm = TRUE) : 'x' must be numeric
NA
モデルを生成する前にすべての値を削除する必要がありますか?
そして、因子変数を数値にする必要がありますか? もしそうなら、どうすればいいas.numeric
ですか?non-immigrant
しかし、それはとの間のレベルを意味しませんimmigrant
か?
Y 変数については、0 と 1 として再コーディングする必要がありますか?
以下のように再現可能なデータセットを追加しました。
outcome c1 c2 c3 c4
1 lbw 120 yes <30 good
2 lbw 124 yes <30 good
3 lbw 125 yes <30 good
4 lbw 135 yes <30 good
5 lbw 112 yes <30 good
6 lbw 168 yes <30 good
7 lbw 147 yes 30-40 good
8 lbw 174 yes 30-40 fair
9 lbw 153 yes 30-40 fair
10 lbw 145 yes 30-40 fair
11 lbw 145 yes 30-40 fair
12 lbw 125 no >40 fair
13 lbw 125 no >40 poor
14 lbw 111 no >40 poor
15 non-lbw 80 no >40 poor
16 non-lbw 85 no >40 poor
17 non-lbw 78 yes >40 poor
18 non-lbw 67 no >40 poor
xair <- bc1997[,c("c1","c2","c3","c4")]
yair <- bc1997[,"outcome"]
model.plsrglm <- plsRglm(yair, xair, 2, modele="pls-glm-logistic")
summary(model.plsrglm)
しかし、私はこのエラーが発生しました:
> model.plsrglm <- plsRglm(yair, xair, 2, modele="pls-glm-logistic")
____************************************************____
Family: binomial
Link function: logit
Error in colMeans(x, na.rm = TRUE) : 'x' must be numeric