요즘 인공지능이 핫하죠! 대학에서 공부할때도 실무쪽에서도 빠지지 않고 등장하는 것이 빅데이터, 인공지능, 머신러닝, AI 등의 용어인데요. 이 인공지능을 다루는 언어로써 가장 인기있는 언어로는 파이썬과 R이 있습니다. 이번에 저도 새로 R을 공부해보려고 하는데요. R 을 공부하는 데 필요한 프로그램을 설치해보고 공부하기 더 편한 환경을 만들어 보도록 하겠습니다.
설치
먼저 R 프로그램을 다운받아 설치해야합니다. 링크를 눌러 들어가서 Download 밑의 CRAN을 눌러 적절한 클라우드를 선택합니다.
들어가서 저는 맨 위 0-Cloud에서 다운을 했구요. 각 운영체제에 맞게 골라주시면 됩니다. 맥이면 pkg 파일을, 윈도우면 exe 파일을 다운로드 해 설치하면 됩니다.
설치가 끝났으면 R을 켜보세요. 맥을 사용한다면 위와 같은 콘솔이 켜질텐데요. 보기도 불편하고 공부할 때 코드를 작성하기도 좋은 환경이 아닙니다. 따라서 R Studio 를 설치해야 합니다.
상단의 다운로드 버튼을 눌러 운영체제에 맞게 설치하면 됩니다. 맥이면 dmg를 윈도우면 마찬가지로 exe 겠죠? 데스크탑 무료 버전을 선택해 다운로드하면 됩니다.
다운로드 후 R Studio를 실행합니다. 실행하면 위와 같은 창이 나올텐데요. 콘솔과 파일 디렉토리, 환경 변수들을 볼 수 있습니다. 콘솔창이 조금 보기 불편하거나 글씨 크기가 작다. 혹은 하얀색 배경이 눈이 피로하다 하는 사람들은 다른 에디터처럼 테마를 조절할 수 있습니다. 여기서 위 메뉴바에 Tools > Global Options... 를 들어가 세 번째 메뉴 Appearance 창에서 조절하시면 되는데요.
이런식으로 폰트 크기, 폰트 설정, 테마를 마음대로 변경할 수 있습니다.
데이터 타입
> a = 2
> b = 3
> a + b
[1] 5
콘솔에 이렇게 입력해봅시다. 변수 두개를 선언해서 둘을 더한 값인 5를 1번 라인에 잘 출력해주고 있죠? 하지만 매번 긴 코드를 이렇게 콘솔에 작성할 순 없으니 R Script를 사용해야 합니다. 메뉴 바에서 파일 > 새 파일 > R 스크립트를 누르시면 됩니다. 단축키는 컨트롤 쉬프트 N 이에요!
스크립트에 콘솔에 했던 것처럼 위 코드를 작성하고 실행해봅시다. 실행은 실행할 스크립트 코드 줄 위에서 컨트롤 엔터를 누르면 됩니다.
위처럼 잘 나왔나요? 이제 숫자를 다루어 보았으니 더 많은 데이터 타입을 다뤄 봅시다.
'글자'
'character'
hi # 오류
글자는 이렇게 따옴표 안에 적어주어야합니다. 따옴표를 안 붙인 hi 는 변수 hi를 찾게 되는데 우리가 선언하지 않은 변수니까 오류가 나겠죠?
c(1, 4, 7, 10)
1: 10 #1, 2, 3, ... 10
seq(from=0, to=100, by=20) # 0, 20, 40, ... 100
seq(0, 100, 20) # 같은 결과
배열은 위처럼 c 함수를 이용해 다룰 수 있습니다. c 함수를 이용하지 않더라도 콜론으로 지정해주면 1씩 올라가는 수열을 만들 수 있고, seq 함수를 사용하면 차이가 20만큼 나는 배열을 만들 수 있습니다.
student = c('학교', '학번', '나이', '이름', '학교')
student
[1] '학교', '학번', '나이', '이름', '학교'
st = factor(student)
st
[1] '학교', '학번', '나이', '이름', '학교'
Levels: 나이 이름 학교 학번
class(st)
[1] factor
levels(st)
[1] "나이" "이름" "학교" "학번"
이렇게 문자열로 이루어진 배열도 만들 수 있는데요. factor를 사용하게 되면 levels 라는 결과가 한 줄 더 출력됩니다. class 를 사용해 st 변수의 클래스를 알아볼 수 있고 levels를 통해 st 라는 factor 가 가진 level 들을 알아볼 수 있습니다.
'AI' 카테고리의 다른 글
Learning Correspondence from the Cycle-consistency of Time (0) | 2021.09.26 |
---|---|
논문리뷰 PV-RCNN: Point-Voxel Feature Set Abstraction for 3D Object Detection (0) | 2021.04.04 |
PointNet: Deep Learning on Point Sets for 3D Classification and Segmentation (0) | 2021.03.28 |
논문 리뷰 Multi-View 3D Object Detection Network for Autonomous Driving (0) | 2021.03.26 |
인공지능 conda install tensorflow //콘다 안 될 때 (0) | 2020.01.01 |
댓글