0

というデータセットがありますx。内容は書き出すだけの簡単なものなので、ここに概要を示します。

  • 最初の列の従属変数 はReport、バイナリのはい/いいえ (0 = いいえ、1 = はい) です。
  • 続く 3 列はすべて因子に変換されたすべてのカテゴリ変数 ( race.fsex.fgender.f) であり、番号で指定されます (例: 1 = 白、2 = 黒など)。

次のように x でロジスティック回帰を実行しました。

glm <- glm(Report ~ race.f + sex.f + gender.f, data=x,
           family = binomial(link="logit"))

を見て、当てはめた確率を確認できsummary(glm$fitted)ます。

私の質問: このデータ セットの右側にx、 の予測 (適合確率) を含む5 番目の列を作成するにはどうすればよいReportですか? もちろん、単にglm$fitted列として挿入することもできますが、より一般的な用途のために、人種、性別、性別の列にあるものに基づいてそれを予測するコードを書きたいと思います。

現在、私は次のコードに従って、予測列と信頼区間の下限と上限を作成したいと考えています。

xnew <- cbind(xnew, predict(glm5, newdata = xnew, type = "link", se = TRUE))
xnew <- within(xnew, {
  PredictedProb <- plogis(fit)
  LL <- plogis(fit - (1.96 * se.fit))
  UL <- plogis(fit + (1.96 * se.fit))
})

残念ながら、エラーが発生します:

Error in eval(expr, envir, enclos) : object 'race.f' not found

cbindコードの後。

誰でも何か考えがありますか?

4

1 に答える 1

0

コードにいくつかのタイプミスがあるようです。最初の Xnew 呼び出しは glm5 ですが、私が見る限りモデルは glm です (ちなみに、出力の名前として glm を使用するのはおそらく良い考えではありません)。次に、変数 race.f が実際に予測を行いたいデータセットにあることを確認してください。私の推測では、R はその変数を見つけることができないため、エラーが発生します。

于 2014-03-13T21:17:48.523 に答える