728x90
반응형
- 막대그래프그리기
- 막대그래프 순서정렬 : fct_infreq()
- 막대그래프 수치데이터 사용 :stat='identity'
- 원그래프
In [ ]:
install.packages('ggplot2')
Installing package into ‘/usr/local/lib/R/site-library’
(as ‘lib’ is unspecified)
In [ ]:
install.packages('forcats')
Installing package into ‘/usr/local/lib/R/site-library’
(as ‘lib’ is unspecified)
In [ ]:
library(ggplot2)
library(forcats) # 막대 그래프 정렬
막대그래프 그리기¶
질적변수 - 명목형변수
In [ ]:
transp <- c("bicyle", "bus" , "bus", "walking", "bus", "bicyle", "bicyle", "bus", "bus", "bus", "bicyle", "bus", "bicyle","bus", "bicyle" , "walking","bus", "bus", "bicyle", "bicyle", "walking", "walking",
"bicyle", "bus" , "bus" , "bus", "bus", "bicyle", "bus", "bus", "bicyle", "bicyle", "bicyle")
In [ ]:
data1 <- data.frame(transp)
In [ ]:
ggplot(data1, aes(x=transp)) +
geom_bar()+
xlab('Transpotation')
In [ ]:
ggplot(data1, aes(x=fct_infreq(transp))) +. #fct_infreq를 통해서 정렬 (library(forcats))
geom_bar()+
xlab('Transpotation')
막대그래프 - stat='identity' 사용하기¶
기본적으로 geom_bar() 함수는 막대 그래프를 그릴 때,
각 범주의 빈도수(또는 합산된 값)를 막대의 높이로 사용합니다.
하지만 stat='identity'를 설정하면 막대의 높이가 직접 데이터 값에 의해 결정되므로,
사용자가 데이터의 값을 그래프에 직접 반영할 수 있습니다.
In [ ]:
obesity<-factor(c("underweight", "normal" , "overweight", "obese"),
levels=c("underweight", "normal", "overweight", "obese"))
#level은 순서
count <- c(6,69,27,13)
pers <- count/sum(count)*100
In [ ]:
dat2 <- data.frame(obesity, count, pers)
dat2
obesity | count | pers |
---|---|---|
<fct> | <dbl> | <dbl> |
underweight | 6 | 5.217391 |
normal | 69 | 60.000000 |
overweight | 27 | 23.478261 |
obese | 13 | 11.304348 |
In [ ]:
ggplot(dat2, aes(obesity, pers)) +
geom_bar(stat='identity') + # 막대의 높이를 데이터의 값 그대로 표현합니다.
xlab('Obesity') +
ylab('Percentage(%)')
원그래프¶
In [ ]:
table(transp)
dat3 <- data.frame(transfortation=c('bus','bicyle','walking'),count=c(15,13,4))
transp
bicyle bus walking
13 16 4
In [ ]:
ggplot(dat3,aes("",count,fill=transfortation))+
geom_bar(stat = 'identity')+
coord_polar('y', start=0)+
xlab('')+
ylab('')
In [ ]:
ggplot(dat3, aes("", count, fill = transfortation)) +
geom_bar(stat = 'identity') +
coord_polar("y", start = 0) +
xlab("") +
ylab("") +
theme(
axis.text = element_blank(), # 축 텍스트를 숨깁니다.
axis.ticks = element_blank(), # 축 눈금을 숨깁니다.
panel.grid = element_blank() # 패널 그리드를 숨깁니다.
)
728x90
반응형
'Statistics > [강의정리] 통계학개론' 카테고리의 다른 글
[통계학개론]03강. R 내장함수 그래프와 요약통계량 (0) | 2024.05.07 |
---|---|
[통계학개론] 03강. 데이터요약2 (0) | 2024.05.06 |
[통계학개론] 02강. 데이터 요약1 (1) | 2024.05.05 |
[통계학개론] 01강. 통계학의 주요 개념 (0) | 2024.05.03 |
[통계학개론] R기초 (0) | 2024.05.03 |