私はcar
バージョン2.1.4を実行していて、Anova
関数を使用して、成功/失敗設定のロジスティック回帰を使用して電力解析のWaldベースのp値を取得しようとしています。次の簡単な階乗を実行すると、0の残差自由度に起因する誤差による関数ですが、明らかにサンプルサイズは非常に大きくなります。私は何をしているのですか?RのCar ANOVA関数に関する問題?
と同様にglm()
コールに問題がありますか?
X <- matrix(c(100,66566,73,66593,1201,398799,165,66501),
nrow = 4,ncol = 2,byrow = TRUE)
x_df <- data.frame(premium = c(300,300,500,500),
restrict = c(500,2500,500,2500))
x_df$int <- x_df$premium * x_df$restrict
mod <- glm(X~premium+restrict+int,
data=x_df,family=binomial)
summary(mod)
car::Anova(mod,type="III","Wald")
ADD#1:
成功/失敗の構文が正しく動作しないことが表示されます。私は手動〜60万行にデータを展開するとフィット感は同じですが、res.dfは正しいです:
X<-matrix(c(100,66566,73,66593,1201,398799,165,66501),nrow = 4,ncol = 2,byrow = TRUE)
x_df<-data.frame(premium=c(300,300,500,500),restrict=c(500,2500,500,2500))
x_df$int<-x_df$premium*x_df$restrict
mod<-glm(X~premium+restrict+premium*restrict, data=x_df,family=binomial)
summary(mod)
Anova(mod,type = "III",test.statistic = "Wald")
y=c(rep(1,100),rep(0,66566),rep(1,73),rep(0,66593),rep(1,1201),rep(0,398799),rep(1,165),rep(0,66501))
premium<-c(rep(300,66666*2),rep(500,1201+398799+165+66501))
restrict<-c(rep(500,66666),rep(2500,66666),rep(500,1201+398799),rep(2500,165+66501))
x<-data.frame(y=y,premium=premium,restrict=restrict)
mod2<-glm(y~premium+restrict+premium*restrict,data=x,family=binomial)
summary(mod2)
Anova(mod2,type = "III",test.statistic = "Wald")
数式自体に対話用語を入れて、後でその製品を追加しないでください。 – C8H10N4O2
これはプログラミング上の問題ではなく統計的な問題です。 CrossValidatedにクローズ/マイグレーションするための投票。 –
私は、成功/失敗の構文は、同じ数のレコードに展開するのとまったく同じ結果を出そうとしているのではないと思います。 –