library(ggplot2)
data(diamonds)
head(diamonds)
options(repr.plot.width=7,repr.plot.height=4) # Jupyter notebook 에서 ggplot 크기를 조절
ggplot(data=diamonds) +
geom_bar(mapping = aes(x=cut)) # 데이터를 diamonds로 하고 x축에는 cut필드를 기준으로 하여 barplot을 생성
library(dplyr)
diamonds %>%
count(cut)
연속 변수의 경우 일정 간격으로 끊어서 히스토그램을 그린다. 아래는 0.5 간격으로 끊어 그림
ggplot(data = diamonds) +
geom_histogram(mapping = aes(x = carat), binwidth = 0.5)
diamonds %>%
count(cut_width(carat, .5))
smaller <- diamonds %>% filter(carat < 3)
head(smaller)
이전과 달리 mapping 내용이 ggplot안에 들어가는 이유는 공통적인 요소라고 생각되어 ggplot 안으로 넣었다.
ggplot(data = smaller, mapping = aes(x = carat)) +
geom_histogram(binwidth = .1)
여러개의 Histogram 이 겹치면 잘 보이지 않으므로 freqploy를 쓰는 것이 용이
ggplot(data = smaller, mapping = aes(x = carat, colour = cut)) +
geom_freqpoly(binwidth = .1)
ggplot(data = smaller, mapping = aes(x = carat, colour = cut)) +
geom_histogram(binwidth = .1, position = )
ggplot(data = diamonds, mapping = aes(x = carat)) +
geom_histogram(binwidth = .01)
data(faithful)
ggplot(data = faithful, mapping = aes(x = eruptions)) +
geom_histogram(binwidth = .25)
ggplot(data = diamonds) +
geom_histogram(mapping = aes(x = y), binwidth = .5)
ggplot(diamonds) +
geom_histogram(mapping = aes(x = y), binwidth = .5) +
coord_cartesian(ylim = c(0, 50))
unusual <- diamonds %>%
filter(y < 3 | y > 20) %>%
select(price, x,y,z) %>%
arrange(y)
head(unusual,10)
diamonds2 <- diamonds %>%
mutate(y = ifelse(y<3 | y>20,NA,y))
head(diamonds2)
ggplot(data = diamonds2, mapping = aes(x = x, y = y)) +
geom_point()
ggplot(data = diamonds2, mapping = aes(x = x, y = y)) +
geom_point(na.rm = TRUE) # 결측치 제거
ggplot(data = diamonds, mapping = aes(x = price)) +
geom_freqpoly(mapping = aes(colour = cut), binwidth = 500)
ggplot(data = diamonds, mapping = aes(x = price, y = ..density..)) +
geom_freqpoly(mapping = aes(colour = cut), binwidth = 500)
ggplot(data = diamonds, mapping = aes(x = cut, y=price)) +
geom_boxplot()
ggplot(data = diamonds, mapping = aes(x = cut, y = price)) +
geom_boxplot() +
coord_flip()
ggplot(data = diamonds) +
geom_count(mapping = aes(x = cut, y = color))
diamonds %>%
count(color, cut) %>%
ggplot(mapping = aes(x = color, y = cut)) +
geom_tile(mapping = aes(fill = n))
ggplot(data = diamonds) +
geom_point(mapping = aes(x = carat, y = price))
- 점의 투명도를 통해 많이 있는 부분에는 색이 찐하게 나올 수 있도록 투명도 조절
ggplot(data = diamonds) +
geom_point(mapping = aes(x = carat, y = price), alpha = 1 / 100)
ggplot(data = smaller) +
geom_bin2d(mapping = aes(x = carat, y = price))
'BIGDATA > R' 카테고리의 다른 글
[DataMining] 3. 데이터 전처리 (0) | 2017.09.25 |
---|---|
[DataMining] 1. R Basic Programming (0) | 2017.09.09 |
#12. 고급 시각화 (0) | 2016.07.13 |
#11. 기초 시각화 [ R 내장 함수 ] (0) | 2016.07.12 |
#10 .기술통계 [ 예제 ] (0) | 2016.07.12 |