2017-12-19 7 views
1

저는 초보자입니다 (첫 학기 - 단 변수 통계를위한이 프로그램입니다). 그리고 현재 내 glm()의 결과를 플로팅하는 데 어려움을 겪고 있습니다. 내가 꽤 많은 스레드를 읽고 인터넷에서 파일을 도울 수 있지만 2 가지 문제가 있습니다 : 1) 너무 고급 또는 2) 조언을 이해하기 때문에 조언을 이해하지 못한다면 내가 코드를 복제 할 때, 일하지 마라.glm()의 결과 플롯

나는 해결책에 가깝다고 생각하지만, 나의 곡선은 그것이 어떻게되는지에 대해 작동하지 않는다. 아무도 내가 뭘 잘못하고 있다고 말할 수 있습니까?

new.data<-data.frame(x=rnorm(50,0,1), y=c("yes", "no")) 
mock_model<-glm(y~x, data=new.data, family=binomial) 
x1<-seq(min(new.data$x), max(new.data$x), 0.01) 
y1<-predict(mock_model, list(x=x1), type="response") 
plot(new.data$x, new.data$y, xlab="numeric var", ylab="binary var") 
points(x1, y1) 

나는 코딩과 플랫폼에 익숙하지 않으므로 제공 한 정보가 충분하지 않을 경우 사전에 사과드립니다.

모든 조언을 주시면 감사하겠습니다.

+0

도움을 요청할 때 샘플 입력 데이터와 함께 [재현 가능한 예] (https://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example)를 포함시켜야합니다. 코드를 실행하는 데이터가 없으면 사용자가보고있는 내용을 볼 수 없으므로 문제가 무엇인지 명확하지 않습니다. – MrFlick

+0

아 맞아, 이해가 돼! 링크에서 내 데이터와 비슷한 변수가있는 작은 데이터 프레임을 판단하는 것이 좋을까요? 'new.data <-data.frame (x = rnorm (50,0,1), y = c ("예", "아니오")) mock_model <-glm (y ~ x, data = new. 데이터, 패밀리 = 이항) x1 <-seq (min (new.data $ x), max (new.data $ x), 0.01) y1 <-predict (mock_model, list (x = x1), type = " 응답) " plot (new.data $ x, new.data $ y, xlab ="숫자 var ", ylab ="binary var ") points (x1, y1)' –

+0

이 정보를 원래 질문으로 편집하십시오.댓글의 형식을 올바르게 지정할 수 없으며 처음부터 코멘트가 있어야합니다. – MrFlick

답변

1

다음은 mtcarsggplot2 패키지를 사용한 예입니다. ggplot2의 구문은 대략 다음과 같이 작동합니다. ggplot() 명령을 사용하여 축을 시작합니다.이 축에서 축 변수 선택을 포함하지만 옵션을 포함 할 수있는 미학 (예 : aes() 옵션)을 정의 할 수는 있습니다 (하지만 할 필요는 없습니다). 색상, 선폭 등과 같은 비주얼을 변경하십시오. ggplot() 내에 축 변수를 정의하는 경우 aes() 외부에 data 지정 (아래 예제 참조)을 지정하는 것을 잊지 마십시오.

geom_point()의 데이터 포인트, geom_line()의 행 또는 다른 많은 재미있는 것들을 그리기 위해 기하 구조의 레이어를 추가합니다. ggplot() 명령에 할당 된 변수 및 데이터를 사용하려면 geom을 비워 두십시오 (해당 geom에 사용하려는 시각적 인 aes() 옵션 제외). 그러나 geom에 대해 새 데이터와 변수를 정의 할 수 있습니다 (예 : 동일한 플롯에서 다른 데이터 소스 사용).

enter image description here

또는 대신 지점의 라인과

data(mtcars) 

model_shift <- glm(am ~ mpg, data = mtcars, family = 'binomial') 
x <- seq(min(mtcars$mpg), max(mtcars$mpg), .1) 
y <- predict(model_shift, list(mpg = x), type = 'response') 
plot_data <- data.frame(mpg = x, am = y) 

library(ggplot2) 
ggplot(aes(x = mpg, y = am), data = plot_data) + 
    geom_point() 
:

ggplot(aes(x = mpg, y = am), data = plot_data) + 
    geom_line() 

enter image description here

ggplot2의 끝없는 가능성을 엿볼하려면, these 'Top 50' ggplot2 visualizations를 보라. 패키지 별 언어를 배우려면 this tutorial을 보거나 대학 라이브러리에서 Hadley Wickham의 서적 ggplot2: elegant graphics for data analysis을 확인하십시오.

+1

이 모든 기본 사항을 나에게 설명해 주셔서 감사드립니다. 어떤 이유로 작동하지 않기 전에 ggplot2를 사용해 보았지만 단계별 가이드와 함께했습니다! 다시 감사합니다. –

관련 문제