2016-04-18 17 views
3

私のデータのロジスティック回帰曲線をプロットしたいが、プロットしようとすると複数の曲線が得られる。ここに私の最後の試みの絵です:プロットロジスティック回帰曲線in R

last attempt

ここで私が使用しています関連するコードは次のとおりです。

fit = glm(output ~ maxhr, data=heart, family=binomial) 
predicted = predict(fit, newdata=heart, type="response") 

plot(output~maxhr, data=heart, col="red4") 
lines(heart$maxhr, predicted, col="green4", lwd=2) 

私の教授は、次のコードを使用していますが、私はそれを実行しようとすると、私はエラーを取得します最後の行で、xとyの長さが一致しないと言っています:

# fit logistic regression model 
fit = glm(output ~ maxhr, data=heart, family=binomial) 
# plot the result 
hr = data.frame(maxhr=seq(80,200,10)) 
probs = predict(fit, newdata=dat, type="response") 
plot(output ~ maxhr, data=heart, col="red4", xlab ="max HR", ylab="P(heart disease)") 
lines(hr$maxhr, probs, col="green4", lwd=2) 

助けてください。

編集: mtcarsデータセットを使用して、再現可能なコードを要求したよう

fit = glm(vs ~ hp, data=mtcars, family=binomial) 
predicted= predict(fit, newdata=mtcars, type="response") 
plot(vs~hp, data=mtcars, col="red4") 
lines(mtcars$hp, predicted, col="green4", lwd=2) 
+1

SO [ロジスティック回帰曲線をプロット上の質問の多くを(持っているのhttp ://stackoverflow.com/search?q = [r] +プロット+ロジスティック)。それらのいずれかが助けてくれますか? – eipi10

+0

リンクeipiを参照してください、またはあなたの例を再現可能にしてください。すでに提供しているコードに適合するデータをシミュレートします。 –

+0

私は最初にそれを検索しようとしましたが、質問のほとんどは私の頭の上にあったものか、私が持っている問題に対処しなかったものでした。問題を再現できるように、組み込みのmtcarsデータセットを使用するコードをいくつか掲載しました。 – cafemolecular

答えて

5
fit = glm(vs ~ hp, data=mtcars, family=binomial) 
newdat <- data.frame(hp=seq(min(mtcars$hp), max(mtcars$hp),len=100)) 
newdat$vs = predict(fit, newdata=newdat, type="response") 
plot(vs~hp, data=mtcars, col="red4") 
lines(vs ~ hp, newdat, col="green4", lwd=2) 

enter image description here

+0

ありがとう!とても有難い! – cafemolecular

+0

2行目と3行目の目的は何ですか? newdatは何を意味するのですか? – cafemolecular

+0

'newdat'オブジェクトが予測に使用されます。これには元のデータセットよりも可能な 'hp'値の分解能がはるかに優れており、簡単なプロットを可能にするように指示されています。あなたは 'hr'を作成したときに正しくこれをやっていましたが、予測ステップでそれを使用しませんでした。' newdata = dat'を使用しました –