R : lines 함수 ♤ 통계

간만에 R관련 포스팅입니다. 이번에 다룰 함수는 "lines"라는 함수 입니다.

일전에 보여드렸던 "plot" 함수에서는 plot의 틀과 자료를 출력 할 수 있었는데요.

이후 이 plot 함수로 출력한 결과에 덧붙여 선들을 출력하고자 할 때 유용하게 사용할 수 있습니다.



        Lines(x,y,col,lty)

    lines() 함수도 graphic 함수군에 속하므로 par()함수의 옵션 대부분을 그대로 이용할 수 있습니다.
    대충 위에 열거한 정도만 알면 될 뜻 싶네요.
        
        x     :  x축 data를 나타냅니다.
        y     :  y축 data를 나타냅니다. y축 data는 경우에 따라 넣지 않아도 상관 없습니다.
        col  :  선의 색을 지정합니다.
        lty   :  선의 종류를 지정합니다.




간단하게 예제를 보시겠습니다~

예제에서 plot함수를 이용하여 전체적인 틀만 잡고 세 개의 분포를 lines 함수를 통해서 그린 것입니다.
보통 사용되어 지는 곳은 동일한 domain에서 여러가지 결과를 겹쳐서 출력해야 할 때 주로 쓰입니다.
저도 논문 세미나에서 시뮬레이션 결과를 비교해서 보일 때 자주 사용하였습니다.
또는 산점도 위에 회귀분석 결과를 출력 할 수도 있지요.




예제 1
x <- seq(-5,5,0.01)                        # x의 domain 지정
y <- array(0,c(3,length(x)))            # 각 함수의 결과를 저장할 변수를 배열로 구성

y[1,1:length(x)] <- dnorm(x,0,1)       # N(0,1)
y[2,1:length(x)] <- dlogis(x,0,1)        # Logis(0,1)
y[3,1:length(x)] <- dcauchy(x,0,1)    # Cauchy(0,1)

plot(x,x, xlim=c(-5.5, 5.5), ylim=c(0,.5),type='n')    # type='n'을 이용하여 빈 plot 틀을 출력

for(i in 1:3) { lines(x,y[i,],col=i,lty=i)}                    # for() 를 이용하여 각 lines를 출력

# 범례 출력
legend("topright",legend=c("N(0,1)","Logis(0,1)", "Cauchy(0,1)"), ,lty=c(1,1,1),col=1:3)

예제 2
x <- runif(100,50,100)                # 50~100까지의 수 중 랜덤하게 100개 추출
y <- runif(100,2,3.27)                # 2~3.27까지의 수 중 랜덤하게 100개 추출
z <- 1.1*x*y+rnorm(100,0,3)      # 1.1 * x * y + error term으로 z를 계산

plot(x,z)                            # x, z의 산점도 출력
lm.r <- lm(z~x)                 # 회귀 계수 계산
qq <- lm.r$coeff                 # 회귀 계수 추출
x2 <- sort(x)
lines(x2,qq[1] + qq[2]*x2)    # 회귀 직선 출력


트랙백

이 글과 관련된 글 쓰기 (트랙백 보내기)
TrackbackURL : http://horanya.egloos.com/tb/3815607 [도움말]

덧글

덧글 입력 영역