전산통계학 10차 과제 (마지막) - ggplot2
코딩 공부/R-전산 통계학 2020. 2. 17. 18:42마지막 10차 과제는 다음과 같았다
1번) R ggplot2 short tutorial + tutorial 1 (Intro) + tutorial 2 (Theme)
2번) R ggplot2 tutorial 3 (masterlist) 의 8가지 항목에 대해서 각각 한 개씩 선택하여 명령어를 진행하되, 입력 값과 사용 데이터 등을 모두 다르게 사용하기
출처 : http://r-statistics.co/ggplot2-Tutorial-With-R.html
하지만, ggplot2 과제 자체는 문제의 양이 상당하기에 이 블로그에 전부 적기보다는 일부 알아두면 좋을 점과 point 만 짚을려구요
1번)
아래에 해당하는 설명은 1번 문제중, 'short tutorial' 에 해당하는 부분입니다
# 1) Setup
library(ggplot2)
ggplot(diamonds)
ggplot(diamonds, aes(x=price))
ggplot(diamonds, aes(x=price, y=clarity))
ggplot(diamonds, aes(x=price, color=clarity))
우선 library(ggplot2) 를 함으로써 패키지를 끌어오고, 'diamonds' 라는 R내부의 통계분석 데이터에서 "x축은 가격, y축은 선명도" 로 안이 비어있는 그래프를 생성시켰다, 그런데 다음 명령어는 조금 다르게 "color= clarity" 가 붙어있다, 무슨 의미일까?
-> 'clarity' 에 따라서 색을 구분시켜라
# 2) The Layers
ggplot(diamonds, aes(x=carat, y=price, color=cut)) + geom_point() + geom_smooth()
ggplot(diamonds) + geom_point(aes(x=carat, y=price, color=cut)) + geom_smooth(aes(x=carat, y=price, color=cut))
위의 두 명령어가 각각 나타내는 그래프는 사진과 같은데, 'geom_point, geom_smooth' 을 통해서 점과 선을 추가해주었다
# 3) The Labels
gg <- ggplot(diamonds, aes(x=price, y=carat, color=clarity)) + geom_point() + labs(title="Red Party", x="Price", y="Carat")
print(gg)
'labs (라벨로 생각하면 쉽다)' 명령어를 통해서 'x축, y축, 타이틀제목' 에 이름을 설정해주었다
# 4) The Theme
gg1 <- gg + theme(plot.title=element_text(size=15, face="bold",color = "red"),
axis.text.x=element_text(size=5,angle = 30),
axis.text.y=element_text(size=5,angle = 15),
axis.title.x=element_text(size=5),
axis.title.y=element_text(size=5)) +
scale_color_discrete(name="Gong - San - Dang")
print(gg1)
테마 파트에서는 라벨 파트에서 설정해주었던 제목과 더불어서 x,y축의 기준라인에 대한 문자에 대해서 '각도, 크기' 를 설정하고 있다
다음으로 'scale_color_discrete' 라는 명령어를 통해서 각 포인트가 어떤 것에 속하는지를 색을 통해서 구분해주고 있다
# 5) The Facets
gg1 + facet_wrap( ~ clarity, ncol=3)
gg1 + facet_wrap(color ~ clarity)
gg1 + facet_wrap(color ~ clarity, scales="free")
gg1 + facet_grid(color ~ clarity)
4번의 그림을 색깔별로, 다시말하자면 clarity (다이아의 선명도) 에 따라서 3 cloumn 에 의거해서 구분 되어있는 그래프를 볼 수 있다
그렇다면, 나머지 밑의 3가지 명령어는 어떤 규칙에 의거해서 나열되는지 직접 확인해보세요...
# 6) Save plot
plot1 <- ggplot(mtcars, aes(x=cyl)) + geom_bar()
ggsave("myggplot.png")
ggsave("myggplot.png", plot=plot1)
첫 번째의 save 는 "마지막으로 실행된 그래프 (plot) 저장"
그와 달리, 두 번째의 save 는 "library 에 저장" 되는 조금은 다른의미를 가진 명령어 들이다
이번에 해당하는 설명은 1번 문제중, 'tutorial 2 (Intro) - 이미지 저장' 에 해당하는 부분입니다 (의외로 까다로움)
위의 사진은 원래의 홈페이지에서 제시하고 있는 R ggplot 내에 원하는 이미지 삽입하기에 관련된 명령어인데...
필자는 위의 명령어를 따로 추천하지 않습니다, 이유가 뭘까요?
첫 째. 본인이 사용하는 R 지정폴더 내의 사용하려는 이미지가 존재해야함
둘 째. 맥 os를 사용하는 사람들은 R 지정폴더 개념에 대해서 존재하지 않기 때문에, 사실상 이미지를 직접 따온다는 것이 불가함
그래서 필자와 K선배가 생각해낸 방법은...?
"인터넷에서 바로 이미지를 따올 수 있다면?"
위의 생각에 대한 답이 바로 다음 사진과 같습니다
2번)
2번 문제는 대입 값과 사용 통계 데이터만 바꿔가면서 결과 값 혹은 그래프의 모양만 바꿔가면 되기에 따로 큰 설명 없이
참고 링크만 드리겠습니다
출처 : https://www.r-graph-gallery.com/index.html