1. R program on mac
EDA 수업에서 R프로그램을 처음 접하게 되었다. 파이썬과 꽤나 비슷해보이는 구조이다.
허나 Mac버전에서의 R은 한국어를 지원하지 않기 때문에 극복해야 할 부분이 많다.
1. R program's panes, windows, 화면 설정
R 에서의 window는 pane이라 불리며 개인의 기호에 맞게 pane의 위치를 설정할 수 있다. 중앙 상단에 창문(pane)을 선택하면 설정할 수 있다.
나는 위와 같은 형식을 유지하겠다.
- 왼쪽 상단 Untitle1(제목) pane : 가장 많이 보게 될, 직접 코딩을 하는 창이다.
- 왼쪽 하단 console pane : 코딩의 결과를 볼 수 있다. 원하는 단락의 결과를 보려면 해당 코드를 드래그하고 cmd + enter를 누르면 된다.
- 오른쪽 상단 Environment : 입력된 변수들을 확인할 수 있다.
- 오른쪽 상단 History : 코딩 history를 볼 수 있다.
- 왼쪽 하단 Files : data를 import할 때 사용하게 될 것 같다.
2. Console text 전체 지우기
처음 R프로젝트를 열면 console에 version checking을 위한(?) 텍스트들이 반환되는데, Ctrl + L로 지울 수 있다.
3. Run
R에서의 코드 Running은 Jupyternote에서의 commandkey와 같이 cmd + enter 다.
1+1을 입력하고 cmd + enter
console에 output이 잘 반환된 것을 확인할 수 있다.
4. 연산자 =, <-
R에도 = 연산자가 존재한다. = 연산을 통해 변수지정이 가능하고 =의 대안으로 <-도 있다.
우측의 Environment pane에서 변수가 잘 지정됐음을 확인할 수 있다.
5. library() / library 열기
R에서 ggplot2 library를 열어보자.
만약 ggplot2가 설치 되어 있지 않은 PC라면,
# <in>
install.packages("ggplot2")
을 통해 ggplot2 를 설치할 수 있다. library() 함수는 library를 불러오는 함수이다.
# <in>
library(ggplot2)
ggplot2가 잘 열렸으면 Console에 이렇게 반환된다. (잘 안됐으면 error 어쩌고가 반환될 것임)
그럼 ggplot2가 잘 불러졌는지 확인하기 위해 ggplot2에 내장되어있는 data인 mpg 자료를 head()함수를 사용해 불러보겠다.
ggplot2를 불러왔을 때와 마찬가지로 console에 head(mpg)와 함께 data가 반환된다. head()함수를 사용했기 때문에 전체 데이터가 아닌 일부만이 반환된다.
6개의 variables가 더 있다고 안내된다.
그리고 아래에는 각 variables의 자료형에 대해서 나와있다. trans column 은 chr type, cty column은 int type인 것을 확인할 수 있다.
다음 각 variables에 대한 설명이다.
- cty and hwy record miles per gallon (mpg) for city and highway driving.
- displ is the engine displacement in litres.
- cyl is the number of cylinders
- drv is the drivetrain: front wheel (f), rear wheel (r) or four wheel (4).
- model is the model of car. There are 38 models, selected because they had a new edition every year between 1999 and 2008.
- class is a categorical variable describing the “type” of car: two seater, SUV, compact, etc.
data에 대한 파악을 완료했으면 이제 ggplot()함수를 사용하여, 그래프를 부여하고 geom함수들을 사용해 그래프를 시각화 해보자.
# <in>
ggplot(mpg, aes(x = displ, y = hwy)) +
geom_point()
R에서는 + 연산을 통해 코드를 이어갈 수 있다.
1. geom_point() - 산점도 그래프 그리기
geom_point() 함수는 산점도 그래프로 data를 시각해준다.
첫 번째 인자로 data name, aes 인자는 aes는 aesthetic mappings로 시각화에 어떠한 요소를 사용할 것인지를 입력할 수 있다.
위 코드에서는 aes안에 x,y에 할당할 각각의 변수를 지정했다.
# <in>
ggplot(mpg, aes(x = cty, y = hwy)) +
geom_point()
이번엔 aesthetic mappings에 x변수를 cty로 변경하여 그래프를 시각화해보았다. 이렇게 하면 cty(도심지 내 연비)와 hwy(고속도로 내 연비) 간 상관관계를 파악할 수 있을 것이다.
cty와 hwy간 산점도 그래프를 확인할 수 있다.
참고 ) aesthetic mapping에서는 x와 y를 명시하지 않고 생략하는 것도 가능하다.
# <in>
ggplot(mpg, aes(model, manufacturer)) +
geom_point()
보는 것과 같이 x,y를 명시하지 않았지만, 생략이 가능하였고. character 변수도 x,y에 넣을 수 있는 것을 확인할 수 있다.
다만 이렇게 카테고리가 많은 경우 가시성이 좋지는 않다.
이번엔 mpg data가 아닌 diamonds data를 활용하여 연습을 해보자.
# <in>
ggplot(diamonds, aes(x = carat, y = price)) +
geom_point()
x좌표에 carat(다이아몬드 캐럿), y좌표에 price(가격)을 두고 산점도 그래프트를 그려보겠다.
carat 과 price의 관계를 산점도 그래프를 통해 확인할 수 있다.
다음은 economics data를 사용해 geom()함수 내 다른 그래프를 경험해보자.
2. geom_line() - 선그래프 그리기
# <in>
ggplot(economics, aes(x = date, y = unemploy)) +
geom_line()
economics 의 date, unemploy 변수는 연속형 data여서 선 그래프로 시각화했을 때 효과적이다.
다음은 히스토그램 그래프를 그려보자.
3. geom_histogram()
# <in>
ggplot(mpg, aes(x = cty)) +
geom_histogram()
히스토그램에서는 한 가지 변수만 입력이 가능하다고 한다. 그리고 geom_histgram을 부를 때 따로 인자를 주지 않으면 default값으로 그래프를 반환한다는 메세지를 console를 통해 확인할 수 있다.
4. dim() - data의 차원 파악하기
# <in>
dim(mpg)
# <out>
[1] 234 11
dim()함수를 사용하여 data의 shape을 확인할 수 있다.
mpg data는 234행 11열 형태의 data이다.