RMD knit 저장시 predict()에서 실행 정지 오류
out_vc_A <- glm(vc ~ sl+sw, family=binomial, data= iris100)
out_vg_A <- glm(vg ~ sl+sw, family=binomial, data= iris100)
p_vc = predict(out_vc_A, newdata=new, type="response")
p_vg = predict(out_vg_A, newdata=new, type="response")
p_df = data.frame(p_vc, p_vg)
p_sp = factor( max.col( p_df ) )
levels(p1_sp) = levels(iris100$sp)
new_p = data.frame( new, p_df, p_sp )
p0 <- ggplot(iris100) + geom_point(aes(sw,sl,col=sp))
p0 +
geom_contour(data=new_p,
aes(sw,sl,z=p_vc), color="red", bins=2) +
geom_contour(data=new_p,
aes(sw,sl,z=p_vg), color="blue", bins=2)
p_b3blin <- p0 +
geom_point(data=new_p, aes(sw,sl, col=p1_sp), size=0.1) +
geom_point(aes(sw,sl,col=sp))
p_b3blin
Error in model.frame.default(Terms, newdata, na.action = na.action, xlev = object$xlevels) :
'data' must be a data.frame, environment, or list
Calls: <Anonymous> ... predict.glm -> predict.lm -> model.frame -> model.frame.default
실행이 정지되었습니다
iris 데이터 회귀분석 결과를 html로 저장하려고 하는데요, R-studio에서 코드가 잘 실행 되는데 knit로 저장하려고 하면 predict() 구문에서 error가 계속해서 발생합니다.
어떻게 해결하면 좋을까요??ㅠㅠ
에러코드 상으로는 predict 함수의 두번째 인자가 data.frame이 아니어서 발생하는 에러 같습니다.
knit에서 newdata=new에 해당하는 값이 정상적으로 생성되었는지 확인할 필요가 있을 것 같습니다.
predict의 두번째 인자에 임의의 data.frame을 넣어 보면서 원인을 찾아볼 수도 있을 것 같습니다.