glm
R에서 사용하여 로지스틱 회귀를 시도하고 있습니다 . 내 데이터 시트 measurement.csv
는 다음과 같이 구성됩니다.
subject,intensity,infarcted
MR101325,1.05767712056061,1
MR1017924,0.942893526332193,1
MR1034135,1.04579279903598,1
MR1048784,0.782340895322641,1
MR1085298,0.806187306821611,0
MR1132243,0.856600956071013,0
MR1140359,0.709137967989653,0
MR1142453,0.601887753777769,0
다음 방법을 사용하여 데이터를 R에 입력하고 플로팅합니다.
data1 <- read.csv ("measurement.csv", header=TRUE, stringsAsFactors=FALSE)
plot(x=data1$intensity,y=data1$infarcted)`
이제 로지스틱 회귀를 사용 glm
하여 플롯에 선을 추가하고 싶습니다 .
glm.stroke=glm(data1$infarcted ~ data1$intensity, data = data1, family = binomial)
lines(data1$infarcted,glm.stroke$fitted.values)
마지막 줄은 오류로 이어집니다 Error in xy.coords(x, y) : 'x' and 'y' lengths differ
. 문제가 내가 계산하는 방식에 있다고 생각 glm.stroke$fitted.values
하지만 정확한 문제를 파악할 수없는 것 같습니다.
데이터 세트에 결 측값 (NA)이있는 경우 na.action=na.exclude
피팅에 사용하고 fitted(glm.stroke)
대신 glm.stroke$fitted.values
. (또한 data1$
공식에 포함하지 마십시오 .을 사용 infarcted ~ intensity
하십시오.)
이 플롯이 더 의미가있을 수 있습니다.
plot(infarcted ~ intensity, data = data1)
pframe <- data.frame(intensity=seq(min(intensity, na.rm=TRUE),
max(intensity, na.rm=TRUE),
length=51))
pframe$infprob <- predict(glm.stroke, newdata=pframe, type="response")
with(pframe, lines(intensity,infprob)
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다