brunch

You can make anything
by writing

C.S.Lewis

by ONicial Kes Sep 26. 2022

R을 맨땅으로 시작하다.

비전공자의 데이터 공부 일기

회사를 때려치웠지만 백수로 살 생각은 아니기에 뭔가 다시 시작해야만 했다. 다만, 지금처럼 중소기업의 마케터로 살다가는 내 미래가 그리 밝을 것 같지는 않았다. 게다가 많고 많은 마케팅 대행사는 워라밸과 급여 모두 좋지 않아 좋은 기업을 가기 위해서 나에게는 뭔가가 더 필요했다. 그래서 한창 대세를 이루고 있는 프로그래밍에 손을 대었다. 디지털 마케팅 혹은 퍼포먼스 마케팅이 성황을 이루면서 마케팅 분석 툴에 대한 이슈가 크게 있었고 점점 마케팅 분야는 데이터 영역과 맞닿는 부분이 많아졌다. 그래서 나도 데이터 지식을 쌓아 내 무기를 하나 더 만들기로 하였다. 현재 국가에서도 데이터 분야에 대한 인력을 충원하기 위해서 국비 지원 사업을 벌이고 있다. 하지만, 내가 보는 실상은 아직 기업들이 데이터에 대한 직군을 마련하는 것에 대한 체계화되지 않은 상태인 것 같다. 왜냐하면 모두 다 경력을 뽑는 것에서 알 수 있는데 이전에 신입 공고가 없는데 데이터 경력자만 뽑고 있으니 다른 분야에 접목한 사람들을 긁어모으는 것은 아닐까 싶다. 해외에서 데이터 분석에 대한 직무는 우리나라에 비해 대중화돼있는 것 같고 우리는 아직 그 시스템을 도입하는 상태에 있는 것이 아닐까 추측해본다. 그래서 지금 당장 뭐가 있는 것은 아니지만 미래에는 데이터 관련 지식이 점점 요구될 것이라는 판단에 데이터 공부를 시작하였다.


공부의 시작은 나도 여타 다른 사람들처럼 국비지원 강의를 시작하려 했지만 퇴사 후 바로 빡쌘 여정을 달리기는 버거웠고 또한 백지상태에서 하드코어 수업을 듣는 것이 나에게 그리 좋은 방법은 아닐 거라는 생각이 들었다. 그래서 데이터 준분석가라는 자격증을 공부해보면서 프로그래밍의 예열을 하고 시장 상황을 파악해보기로 하였다. 시작할 때는 이전에 SQLD를 딴 기억이 있어서 저번 좋은 기억을 밑거름 삼아 ADsP 역시 어렵지 않게 딸 수 있지 않을까 희망을 품었다. 3과목이어서 그리 양도 많지 않아 보였고 1, 2과목을 보았을 때는 암기만 빡쌔게 돌려보면 되리라 생각되었지만 3과목을 본 순간 발등에 불이 떨어진 것을 직감했다. 프로그램 언어인 R을 배웠어야 했는데 정말 막막했다. R Studio라는 프로그램에서 코딩을 해야 하는데 기본 문법조차 몰라서 눈앞이 깜깜해졌다. 서둘러 도서관에서 집으로 돌아와 R 강의를 찾기 시작했고 유튜브에서 슬기로운 통계 생활이라는 채널을 발견했다. R 기초를 위한 강의가 있어 듣기 시작했고 자격증 준비에 맞춰진 강의보다 R의 전반적인 이해를 돕는 이 강의가 적격이라 판단되었다. 하다 보니 처음 듣는 내용에 쉬운 내용도 머릿속에 잘 들어오지 않았고 집중도 되지 않아 심적부담이 커졌다. 그래서 확실하게 정리하고 넘어가지 않으면 무너지겠다는 생각이 들어 글로 복습을 철저하게 해야겠다는 생각이 들었다. 이제 차설하고 빠르게 글로 복습을 시작하기로 한다. 10월 29일 시험이 얼마 남지 않았다. 


1) R 코드 실행 방법에는 2가지가 있다.


Interative mode

우리가 흔히 코드 쓰고 실행시키는 방법 (Ctrl + Enter)


Batch mode

미리 저장된 .R 파일을 window 커맨드 혹은 파워쉘(PowerShell)에서 돌리는 방법

-> 사실 잘 이해가 안 되었는데 미리 저장된 것을 위 프로그램을 통해서 돌리는 것으로 대략 이해하였다.


2) 변수 만들기

x <- 1

-> 1을 x로 치환한다고 생각되었다. 벡터도 부여할 수 있음.


3) 벡터 

그룹 혹은 집합체로 이해되었다.

c는 concatenate로 사전을 찾아보니 사슬같이 잇다라고 한다


4) Console에서 [1]의 의미

결과 값의 첫 번째를 의미


5) x[5] 형식의 의미

x라는 벡터에서 5번째 숫자를 가져와줘. 설정한 오브젝트의 포지션으로 가는 것이 []의 기능


6) :의 의미 

1:20 1에서 20까지 연속된 숫자의 배열


7) sample 함수의 기능

sample( x, y) x에서 y의 숫자만큼 랜덤으로 추출하라


8) seq 함수의 기능

seq(시작 숫자, 끝 숫자, 차이) 이 때 차이는 by = 2 형식으로 표시


9) x[2:4]처럼 연속된 포지션에 접근할 수 있음


10) mean 함수의 기능

mean(x) x의 평균을 구함


11) 함수 기능을 알고 싶을 때

?함수()를 치면 된다 mean의 경우 ?mean()을 치면됨


12) library 함수의 기능

패키지를 불러옴 예를 들어 library(dplyr) dplyr 함수 패키지를 불러와 r에서 사용할 수 있게 함


13) 패키지간 중복된 함수가 있을 수 있는데 특정 패키지에 접근해서 함수를 이용할 경우에는 dplyr::filter() 식으로 패키지::함수 형식으로 사용할 수 있음. 위 경우에는 stats와 dplyr 패키지에 filter 함수가 겹쳐 이렇게 사용하였음. namespace 충돌이라고 함


14) 리사이클링

c(1:3) + c(1:4)의 경우 길이가 맞지 않지만 1:3에서 맨 뒤에 1을 추가하여 계산을 함


15) .Renviron

R을 실행할 때 환경 변수를 설정하는 것. 처음에 이해하기 어려웠으나 예를 들어 매번 PASSWORD를 QWERTY로 설정해야 하는 상황이 있다면 .Renviron을 통해서 미리 이 설정을 해놓고 다음부터는 PASSWORD를 치면 자동으로 QWERTY로 설정되어 있다.


16) .Rprofile

r을 실행할 때마다 자동 실행되는 세팅을 설정하고 싶다. .Renviorn 파일 확장자를 변경해서 만들고 이것으로 스크립트를 쓰고 저장. 그것을 내가 사용하는 디렉터리에 저장해놓으면 됨. .Renviron은 내가 조건부로 사용할 수 있지만 Rprofile은 시작 시 바로 적용이 되어있다는 점에서 차이가 있다.


지금 주르륵 적으면서 다시금 이해를 해보니 크게 어려운 내용은 아니었지만 어찌나 처음들을 때는 이해가 하나도 안되던지.... 복습의 중요성을 다시금 깨달았다.

작가의 이전글 나의 고집
작품 선택
키워드 선택 0 / 3 0
댓글여부
afliean
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari