본문 바로가기

비단뱀과 알/[R] tidyverse

[R, tidyverse] Rstudio 기본 설정과 tidyverse 로딩

뭐라도 하기 싫은 날이 또 돌아왔습니다.

 

1. R을 켜보자

에디터(편집기)로는 R studio를 쓸 겁니다.

https://posit.co/download/rstudio-desktop/

 

Posit

The best data science is open source. Posit is committed to creating incredible open-source tools for individuals, teams, and enterprises.

posit.co

 

VScode나 Jupyter notebook을 쓸 수도 있지만 보시는 분들이 코딩 자체를 처음 접하시는 분들이라고 가정하고 그냥 편하고 좋은 거 쓰겠습니다.

또한 위 공식 사이트에서 운영하는, 설치 없이 쓸 수 있는 클라우드 버전도 존재는 합니다만 성능이 구리므로 그냥 로컬에 깔아서 쓰는 걸로 해요.

 

기본적인 컨셉으로, R은 R studio가 알아들을 수 있는 "언어" 라는 느낌을 가져가시면 좋겠습니다.

 

설치가 끝나면, R studio를 켜봅시다.

 

누가 봐도 새 파일처럼 생긴 저 친구를 눌러 볼게요.

뭐가 많아

다 필요 없고 우선 딱 두가지만 알고 계시면 될 것 같습니다.

  • R Script : " .R " 확장자 파일을 만듧니다.
  • R Markdown : pdf나 워드 파일 등으로 추출하기 위한 보고서의 원문이 되는 " .Rmd " 파일을 만듧니다.

정확히 뭐가 뭔지는 쓰시면서 배우시면 될 것 같고, 우리는 R markdown으로 우선 연습해보도록 해요.

클릭해봅시다.

 

저는 2856년에 살고 있습니다.

뭐가 뜨는데 어차피 저거 다 수정 가능하니 "OK" 눌러주시면 됩니다.

물론 지우는 것도 가능합니다.

아, 아래 PDF나 Word 뜨는 것도 신경쓰지 않으셔도 좋습니다. 아무거나 해도 어차피 나중에 다 변환 됩니다.

다만 Rstudio에서 pdf 확장자로 export 하려면 LaTex라는 좀 무거운 뭔가가 필요합니다. 대충 뭐 더 구글링해서 설치 설치 설치 해야한다는 뜻입니다.
근데 우리 어차피 MS word 다들 있으실 테니, 그냥 여기서는 워드로 뽑고 워드에서 pdf로 변환시키시면 됩니다.
템플릿이 좀 안 이뻐지긴 하지만 과제용 등등으로 쓰실거면 귀찮게 뭐 따로 설치하느니 그냥 워드를 애용합시다.

대충 이런 4분할 화면이 뜹니다.

  • 각각의 분할 화면을 "패널" 이라고 부르겠습니다. 탭 위치는 서로 바꿀 수 있어서, 아마 처음 설치하셨다면 제 화면과 순서가 다르실 겁니다. 물론 패널 크기 조정도 가능하고, 필요 없는 패널은 안보이게 숨길 수도 있습니다.
  • 각각의 패널에는 또 여러개의 "탭"이 있는 걸 보실 수 있습니다. 뭐가 뭔지는 굳이 시작부터 다 알 필요는 전혀 없습니다. 마시면서 배우는 술게임 같은 느낌
  • 제 화면 기준 왼쪽 아래 패널에 "Git" 이라는 탭이 있는데, 아마 처음 설치하신 분들께는 없으신 게 맞습니다. 잘못 설치하신 거 아니니 안심하세요.
  • 왼쪽 위 패널이 우리가 편집하게 될 패널입니다. 타이틀이고 저자고 저런 것들은 최종 보고서로 출력했을 때 템플릿처럼 입력되는 부분입니다. 당연히 지워버리셔도 무방합니다.

 

이걸 이용해서 뭔가 작업을 하실 때는 프로젝트 파일이라는 걸 만드시는 게 좋고, 또 어딘가에서 코딩 강의를 처음 들으신다면 만들라고 하실 겁니다. 하지만 코드로 데이터 계산하기, 간단한 레포트로 작성해서 추출하기 등의 기본적인 상황에서는 굳이 프로젝트 파일을 만들 필요가 없으니, 전 그냥 넘어가도록 하겠습니다(...)

 

모든 코딩이 그렇듯, 구글링 하시면 정말 잘 나와 있습니다. 필요하면 그때 하는 걸로 해요.

 

보고 계시는 콘솔 패널부터 시작할게요 (가린 부분은 제 working directory, 즉 R이 얹어져있는 파일 경로 입니다.)

워킹 디렉토리(R이 돌아가는 위치)를 설정하겠습니다. 그러니까 무슨 데이터를 불러오거나 할 때, 여기 설정된 경로를 기준으로 돌아가게 됩니다. 대충 우리 파일 탐색기에서 "최근 폴더" 버튼 같은 느낌을 설정해준다고 생각하시면 좋습니다.

 

기본적으로 콘솔 패널은, ">" 옆에 코드를 쓰고 엔터를 누르면 바로 돌아가는 형식입니다. 편집기 없이 쓰는 날것의 R이라고 생각하셔도 좋겠습니다.

 

보이시는 그대로 경로를 입력하시면 됩니다. 경로는 큰 따옴표 안에, "C:/User/..." 와 같이 입력하시면 되는데,

 

Program Files는 예시일 뿐이고, 저기로 경로 설정을 하시라는 건 아닙니다.

헷갈리시면 파일 탐색기에서 이 부분을 복사해서 \(백 슬래시, 원 기호) 을 / (슬래시) 로만 바꿔주시면 됩니다.

 

wd는 바탕화면이든 어디든 아무데나 폴더 하나 만드셔서 거기로 설정하시면 되고, 앞으로 데이터든 뭐든 지금 설정한 경로에다가 넣어 주시면 됩니다. R 파일이나 추출하신 워드파일, pdf 파일 등 보고서도 다 지금 설정하신 폴더에 생기게 됩니다.

 

 

그럼 다른 패널의 Files 탭에 설정한 wd가 뜰 거예요.

여기에 이제 하위 폴더를 만드시든 뭘 하시든 자유롭게 결과물들을 정리하시면 됩니다.

 

여기까지. 다른 건 다 빼고 기본적으로 R을 돌릴 수 있는 설정은 여기까지만 하시면 됩니다.

참고로, 

 

상단바에서 Tools -> Global Options

 

필수는 아니지만 설정에서 여러가지 테마를 적용시킬 수 있습니다.

보통 코딩 하시는 분들이 어두운 테마를 쓰는 이유는 그냥 화면을 오래 봐야 하는데 흰색 배경은 눈이 아파서 그런 거지, 별 이유는 없습니다. 여러가지 보시면서, 글자들끼리 색깔 대비가 잘 되면서 마음에 드는 걸 고르시면 됩니다.

 

뭐든 일단 있어 보이게 만들어야 뭘 배울 마음이 생기니까요.

 

 

2. 패키지를 설치해보자

 

 

R은 패키지를 기반으로 돌아가는 언어라고 말씀드렸던 것 같습니다. 그러니까, 대충 "이거 R에서 할 수 있다" 라는 건 "이걸 할 수 있는 R 패키지를 누군가 만들어서 뿌렸다" 정도라고 생각하시면 될 것 같아요.

 

처음 R을 설치하면서 기본적으로 딸려오는 패키지들이 있지만, 우리가 필요한 대부분의 멋진 기능들은 그걸로 안됩니다.

 

 

이딴 걸 할 수 있는 수준이거든요.

이런 사칙연산이나 몫 혹은 나머지를 구하는 등의 간단한 연산자들은 예전에 제가 메모 수준으로 난잡하게 썼던 포스트, 

https://terrapins.tistory.com/11

 

[Python / R] 기본 연산자와 함수

필자 개인적으로 R을 많이 사용하므로 양쪽의 코드를 비교하는 방식으로 메모 1. 기초 연산자 (base) 거듭 제곱 6**2 #> 36 R 등에서의 거듭제곱 오퍼레이터인 ' ^ ' 는 파이썬에서는 비트 연산자임. 6^2

terrapins.tistory.com

이 쪽을 참고해주시면 될 것 같습니다.

 

함수를 뭔가 대충 치면 저렇게 프리셋이 나옵니다.

파란색 네모로 표시가 되어 있는 아랫놈, 저놈은 apply 함수라는 친구고, 그 옆에 표시된 {base} 는 그 함수가 "base" 라는 이름의 패키지에 포함되어 있는 친구라는 걸 의미합니다 (참고로, base는 R 설치와 함께 같이 깔리는 기본 패키지 입니다).

 

저런 패키지 표시가 왜 필요할까요?

 

옆에 누리끼리한 색으로 뜨는 윈도우는 기본적인 arguments와 함수에 관한 설명을 보여 줍니다.

 

네, 같은 이름의 함수라도 패키지가 다른 친구들이 있기 때문입니다.

물론 당분간은 이런 일을 볼 일이 없겠지만, 약간 더 깊은 수준에서는 같은 이름의 함수라도 기능이 달라져 버리는 경우가 있습니다. 그래서 뭐가 뭔지 패키지를 같이 표시해주면서 구별하는 거예요.

 

우선 tidyverse 패키지를 설치해보고, 그 다음 다른 패널들을 보도록 할게요.

 

R studio에서 패키지를 설치하는 방법은 두 가지가 있습니다.

 

먼저 간단한 방법으로,

콘솔 안에 이 라인을 치는 겁니다.

tidyverse 패키지를 설치하려면

install.packages("tidyverse")

이렇게 쓰면 됩니다. 아마 inst 까지만 치시고 키보드의 탭 키를 누르시면 바로 install.packages() 가 자동완성으로 입력되실 거예요.

 

 

그런데 자고 일어났더니 패키지 설치 코드가 기억이 안나요! 하시면 R studio에서만 먹히는 방법이 또 있습니다.

패키지 탭에 보시면 작게 "install" 버튼이 있습니다. 클릭해 볼까요?

요딴 팝업이 뜨는데, 저기 커서가 깜빡거리는 곳에 패키지 이름을 쓰시고 install 버튼을 눌러 주시면 설치가 시작됩니다.

이 방법의 장점으로는 패키지 이름 자동 완성이 되기 때문에 오타 걱정이 없다는 겁니다.

단점은 마우스를 써야 한다는 것. install.packages() 함수를 이용할 때는 손가락만 움직일 수 있는 걸 팔뚝까지 움직여야 한다는 크나큰 단점이 있습니다.

 

농이 아니라 진심입니다.

 

아무튼 뭘로든 설치하시면,

콘솔 창에 진행 상태가 잘 나타나게 됩니다.

R을 사용하는 데 있어서 콘솔 창에 어떤 글자와 문장이 뜨는 지는 정말 중요합니다.
추후에도 뭔가 에러가 생겼을 때, 원인을 모르겠다면 저 콘솔 창에 뜨는 문장을 바꾸지 말고 그대로 복사하셔서 구글에 검색하시면 (대부분의 경우) 해결 방법을 얻을 수 있습니다.

인류 역사에서 이 에러 메세지를 본 사람은 내가 처음이 아닐거라는 걸 항상 마음에 새기고 코딩해요 우리.

 

설치가 잘 되었으면, 패키지를 사용할 수 있도록 상자를 까보겠습니다.

패키지를 로딩하는 방법도 역시 두 가지가 있습니다.

 

먼저 간단한 방법으로는,

library(패키지 이름)

을 콘솔창 안에 입력하시면 됩니다. 이번에는 따옴표가 없다는 점에 유의해주셔요.

설치할 때 따옴표를 빼먹으시면 에러가 뜨구요,

로딩할 때 따옴표를 넣으셔도 에러가 뜹니다.

처음으로 코딩의 뭣같음을 느낄 수 있는 구간이기도 해요. 대충 알아먹을 것이지.

 

 

 

어 그런데 또 library() 함수가 기억이 안나요! 하시면,

검색 칸에 tidyverse를 입력하시고, tidyverse 체크박스에 체크하시면 됩니다. 걔만 체크하시면 저 위에 tidyr같은 친구들도 같이 켜지니 한번만 누르시면 돼요.

 

어떤 방법으로든 로딩을 하시게 되면 콘솔 창에 뭐가 주루룩 뜹니다.

대충 tidyverse 패키지 안에 dplyr, readr, ... 등의 패키지가 있어서 같이 로딩 되었고, 같은 이름의 함수들이 덮어씌워졌다 이런 뜻인데 평생토록 무슨 말인지 모르셔도 R 쓰시는데 전혀 지장 없습니다. 

 

 

자꾸 tidyverse 어쩌고 하는데 하필 왜 이 패키지인가, 얘네한테 뒷돈이라도 받았냐 하실 수 있으니 간단히 소개를 드리고 마무리를 짓겠습니다.

 

한 마디로 R의 기초적인 생태계가 얘를 중심으로 돌아가기 때문입니다. 그림을 그리는 것도 그렇구요(위에 tidyverse 로딩할 때 같이 켜졌던 ggplot2 패키지, 흔히 볼 수 있는 R로 예쁘게 그려진 그래프들은 거의 다 저놈으로 그린 친구들이라 해도 과언이 아닐 정도입니다), 메모리 관리 측면도 그렇습니다.

 

물론 tidyverse를 안써도 상관은 없습니다만, 좀 강력하고 X가지없게 비유하자면 삼성과 애플이 스마트폰의 대부분을 장악하고 있는 한국에서 굳이 삼성/애플페이도, 교통카드도, NFC도, 블루투스도 아무것도 지원하지 않는 휴대폰을 사용하는 느낌이라고 생각하셔도 좋겠습니다. 퀵쉐어와 에어드랍이 되는 세상에서 사진 한 장 공유하려고 USB 케이블과 노트북을 들고 다니는 그런 느낌이예요. 그렇다보니 많은 환경에서 다루는 데이터 형태가 tidyverse가 요리하기 좋은 모양이기도 합니다. 

 

더불어 가장 강력한 장점은, 딱히 배울 게 많지 않습니다. 아마 다음에 포스트를 쓴다면 tidyverse의 기본적인 문법 한 가지와 메이저한 5가지 동사를 소개해 드릴 것 같은데, 사실 그 다섯 가지면 비전공자 수준에서 필요한 웬만한 기초적인 데이터 처리는 다 할 수 있습니다(...) 그 뒤로 그림 그리기의 기초적인 구조 정도만 보시면 더 이상 할 게 없어요. 그래서 이 포스트 시리즈도 동사 한 편, 그림 한 편 해서 끝을 맺을 계획입니다

 

그렇지만, 그래도 기초적인 용어들과 함께 코드를 설명드리려면 꽤나 많은 지면을 할애해야 하기 때문에 다음 포스트에서, 다음에 적당히 한가할 때 또 이어서 쓰도록 하겠습니다.

'비단뱀과 알 > [R] tidyverse' 카테고리의 다른 글

[R] tidyverse 패키지 입문 : R이 뭔디  (0) 2023.05.02