R plot으로 그래프 그리기: 점 여러 개 찍기 ๑•‿•๑

안녕하세요 오늘은 너무나 기쁜 마음으로(?) 포스팅을 하게 되었습니다흐하하

다름이 아니라, R에서 그래프를 그릴 때 점을 두개까진 찍히는데 그 이후에는 잘 안찍히더라구요ㅜㅜ 그래서 왜 그럴까! 고민을 했는데, 알고보니 별거 아니더라구요ㅎㄴㅎ


먼저 책에서의 거의 첫 번째 예제에 대해 보겠습니다. 

> plot(5, 6)

위 코드는 그래프를 그리는 데 쓰이는 함수입니다. x, y를 각각 입력하는 느낌으로 결과 화면은 아래 그림 1과 같이 출력됩니다. 

그림 1
> plot(c(5, 6), c(20, 30))

그리고 이 코드는 두 개의 점을 찍어주는 코드입니다. c 함수를 이용해  점을 추가해 주었습니다. 제가 놓친 부분이 바로 여기인데요, 잘 보면 (5, 20)과 (6, 30)의 두 가지 점인데 착각해서 (5, 6)과 (20, 30)의 두 점으로 찍힌줄 알았어요( ; ∀ ;)つ


그림 2


 > plot(c(5, 6), c(20, 30), c(20, 4))

결국 저는 위 코드와 같은 망코드(?)를 입력하는 대참사(?)가 생겨버렸습니다. 당연히 실행이 안되구요ㅋㅋㅋ 오류 메세지는 아래와 같습니다. 

Error in plot.xy(xy, type, ...) : 유효한 플랏 타입이 아닙니다



 > plot(c(5, 6, 4), c(20, 30, 30))

그래서 잘 생각해 본 결과, 위와 같은 멀쩡하게 생긴 코드를 입력하게 되었습니다. 결과 값은 아래 그림 3을 봐주세요!

그림 3

 제가 작성했던 문장의 오류는 x와 y좌표를 입력하는 것에 대해 착각을 하고 있었기 때문입니다. 일반적으로 수학에서 사용하던 것처럼 (x, y)의 순서쌍을 반복해서 입력해 버린 거죠. 

 하지만 R에서의 plot 함수에 대해 잘 생각해 보면 그렇지 않다는 것을 금방 알 수 있습니다. plot( x좌표, y좌표 ) 가 기본 문법이니 첫 번째 파라미터에는 x좌표, 두 번째 파라미터에는 y좌표가 들어가게 되니까요! c 함수를 사용해서 벡터를 추가하게 되면 해당 좌표에 추가가 되는 겁니다. 

 말하자면, plot( c(x1, x2, ... ), c(y1, y2, ...) )처럼 첫 번째 파라미터에는 x값들의 집합, 두 번째 파라미터에는 y값들의 집합이 되는 거죠. 그래서 각각의 순서쌍을 조합해 그래프를 그리게 됩니다! 

별거 아닌 내용이지만 저는 헷갈려서 생각을 좀 해봤어요. 혼자 알아내서(?) 아주 뿌듯했다능! 그럼 다음 포스팅에서 만나요 (〃・ิ‿・ิ)ゞ

댓글

  1. 관련 자료 검색하다 들어왔는데, 다음 포스팅은 없나요? 기다리고있습니다~!

    답글삭제

댓글 쓰기

이 블로그의 인기 게시물

Windows에서 Caffe 예제 돌리기 : MNIST(1) (๑•‿•๑)

Caffe 구성 요소들 알아보기: blobs, nets, layer, solver, prototxt ๑•‿•๑