R강의 #2 - 변수 이해하기편

    인트로


    프로그램에 대한 기본 지식이 없는 분들도 이해할 수 있는 R언어 강의를 표방하며, 첫번째 강의 주제를 데이터 기본 구조로 잡아봤었습니다. 그러나 사실 변수가 무엇인지 상수가 무엇인지 정확히 개념을 모르는 분들은 이 부분부터 막힐 수 있다고 생각이 들어서 오늘은 좀 더 기본적인 변수에 대해서 알아보도록 하겠습니다.




    변수의 사전적 의미


    변수에서 사용되는 한자 변은 "변하다 변(變)" 입니다.

    즉, 값이 계속 바뀐다는 것이죠. 쉽게 생각하면, 어떤 값이 계속 바뀔 수 있다면 변수로 지정을 하면 됩니다. 어떤 사람의 키라든지, 성적, 월급 이 세상의 거의 대부분의 값은 계속 변하기 때문에 사실 변수가 아닌 것을 찾기가 힘이 들지 모르겠네요.


    변수의 반대말은 상수인데, 파이(3.14), 광복절(8.15) 이런 변하는 것 자체를 허용하지 않는 것을 상수로 지정하게 됩니다. 


    변수의 의미는 무엇인지 알겠으나, 어떻게 활용되는지 이해가 안되는 분들을 위해서 간단한 사례를 들어보도록 하겠습니다.



    변수의 실생활 사례


    사실 사례를 쓰기에도 민망한 것이 모든 분석에 변수가 쓰이기 때문에 사례를 안 찾는 것이 힘이 들 정도입니다. 프로그램을 배우는 사람에게 가장 먼저 만들어보라고 하는 것 중에 하나가 구구단을 짜보라라는 것이 있는데 구구단에 변수가 적용된 사례를 확인해보도록 하겠습니다.


    2 x 1 = 2

    2 x 2 = 4

    2 x 3 = 6

    ...

    9 x 8 = 72

    9 x 9 = 81


    위와 같이 구구단은 1개의 2~9 사이로 이루어진 단과 1개의 1~9사이로 이루어진 숫자와 연산된 결과로 이루어진 구조입니다.


    (2~9)단 x (1~9)숫자 = 결과


    첫번째 단은 2~9값이 변할 수 있습니다.

    두번째 숫자는 1~9값이 변할 수 있습니다.

    마지막 결과는 첫번째 단과 두번째 숫자로 결과가 변할 수 있습니다.


    이처럼, 결과가 변할 수 있는 것들을 담기 위해서 변수가 필요할 것입니다.

    물론 결과를 담지 않고, 그냥 출력할 수도 있습니다만 (결과 정도는 값이 변할 수 있겠네요) 결과를 변화 시키는 요인인 단과 숫자는 변수에 넣어야 하는 것이죠.



    R에서 변수 사용법


    R에서 변수를 할당하는 방법은 <-와 = 를 사용하는 것입니다. 첫번째 <- 는 모양이 상당히 직관적입니다. 오른쪽에 있는 값을 왼쪽에 넣어라라는 모습을 직관적으로 표현해 줍니다. 두번째 = 는 프로그램에서 많이 쓰이는 방식입니다. 


    > a = 2

    > a

    [1] 2

    > b <- 3

    > b

    [1] 3



    R Studio를 캡쳐한 화면처럼, Console 창에 위 코드를 입력하면 결과가 나오는 걸 확인할 수 있습니다. 우측 상단의 창은 변수 상태를 보여주는데 a에 2의 값이 b에 3의 값이 저장이 된 것을 알 수 있습니다.



    변수 규칙


    이처럼 값을 넣는 변수는 여러가지 규칙들이 있습니다. 

    1. 변수명은 문자, 숫자, 언더바(_)로 만들 수 있습니다.
    2. 변수명의 시작은 무조건 문자로 시작해야 한다


    위 모습처럼, 변수명이 가능한 것은 문자, 문자+언더바, 문자+숫자 조합이었습니다. 참고로 문자는 알파벳 뿐만 아니라 한글도 가능하다는 것을 알 수 있습니다. 몇몇의 책에서 하이픈이 가능하다라도 나온 책이 있는데 화면에서 보는 것처럼 하이픈은 되지 않습니다 


    일반적으로 변수명은 소문자로 작성하며, 변수명을 봤을 때 어떤 데이터가 들어갔는지 유추할 수 있는 명명 규칙이 좋습니다.


    Bad Case

    a = 90

    b = 50

    c = a + b


    Good Case

    math = 90

    korean = 50

    sum = math + korean


    똑같이 값에 숫자를 넣고, 합친 결과인데 아래는 변수명만 봐도 해당 내용이 어떤 건지 유추가 가능합니다. 전자는 소스를 읽어야지 어떤 내용인지 유추가 가능합니다.


    변수명을 잘 짓는 것만으로도 추후, 소스를 분석할 때 혹은 실수를 덜 할 수 있습니다. 아무런 의미없는 변수명을 지속적으로 사용하면 나중에 소스를 재활용하기에도 힘이 들고, 잘못된 값을 집어 넣어도 알 수가 없는 문제점이 있습니다.



    이상 변수 이해하기편 포스팅을 마치겠습니다. 다음에는 1편에서 예정한 좀 더 난이도 있는 데이터 구조를 다뤄보도록 하겠습니다. :)

    '프로그램언어 > R' 카테고리의 다른 글

    R 할줄 R지? #4 - 벡터 심화편  (0) 2018.12.27
    R 할줄 R지? #3 - 벡터(Vector) 이해하기  (0) 2018.12.24
    R강의 #1 - 데이터 기본구조편  (0) 2018.08.28
    R의 도움말 확인법  (0) 2017.08.16
    R 설치하기, Step by Step  (0) 2016.08.22

    댓글

    Designed by JB FACTORY