OkBublewrap

dpylr 패키지 본문

R/학습용

dpylr 패키지

옥뽁뽁 2021. 5. 26. 00:00

R에 내장된 데이터 airquality을 불러와준다.

library(dplyr)
head(airquality)

  Ozone Solar.R Wind Temp Month Day
1    41     190  7.4   67     5   1
2    36     118  8.0   72     5   2
3    12     149 12.6   74     5   3
4    18     313 11.5   62     5   4
5    NA      NA 14.3   56     5   5
6    28      NA 14.9   66     5   6

 

5월의 온도를 알고 싶어 추출했다.

a_filter <- filter(airquality, Month == 5)
head(a_filter)
tail(a_filter)

> head(a_filter) 

 Ozone Solar.R Wind Temp Month Day
1    41     190  7.4   67     5   1
2    36     118  8.0   72     5   2
3    12     149 12.6   74     5   3
4    18     313 11.5   62     5   4
5    NA      NA 14.3   56     5   5
6    28      NA 14.9   66     5   6

> tail(a_filter)

   Ozone Solar.R Wind Temp Month Day
26    NA     266 14.9   58     5  26
27    NA      NA  8.0   57     5  27
28    23      13 12.0   67     5  28
29    45     252 14.9   81     5  29
30   115     223  5.7   79     5  30
31    37     279  7.4   76     5  31

 

Month가 5인 데이터만 나온것을 알 수 있다.

이번에 쓸 데이터는 날짜, 바람세기, 온도이다

a_select <- select(a_filter, Day, Wind, Temp)
head(a_select)

  Day Wind Temp
1   1  7.4   67
2   2  8.0   72
3   3 12.6   74
4   4 11.5   62
5   5 14.3   56
6   6 14.9   66

 

여기서 Temp에 있는 화씨이므로 새로운 열에 화씨로 바꾼 온도를 표기해준다.

a_mutate <- mutate(a_select, temp_c = (Temp-32)*5/9)
a_mutate

 Day Wind Temp   temp_c
1   1  7.4   67 19.44444
2   2  8.0   72 22.22222
3   3 12.6   74 23.33333
4   4 11.5   62 16.66667
5   5 14.3   56 13.33333
6   6 14.9   66 18.88889

 

summarise 함수를 써써 5월의 평균 온도를 구한다.

summarise(a_mutate, temp_mean = mean(temp_c))

 temp_mean
1  18.63799

 


5월에 대한 온도 산점도 그리기

library(ggplot2)
ggplot(a_mutate, mapping = aes(x = Day, y = temp_c)) + geom_point() + geom_hline(yintercept = 18.63799, col = "red") + 
  geom_line() + ggtitle('5월 온도') + xlab('날') + ylab('온도')

x축을 날짜, y축을 섭씨 온도로 산점도를 그린다. summarise로 구한 평균값을 빨간선으로 평행선을 그렸다. 

geom_line()을 사용해서 각 점끼리 선으로 있고, 제목 : 5월 온도, x축 : 날 , y축 : 온도로 설정했다.

 

 

'R > 학습용' 카테고리의 다른 글

히트맵  (0) 2021.06.23
reshape2  (0) 2021.05.28
ggplot2  (0) 2021.05.25
데이터 전처리  (0) 2021.05.24
데이터 분석  (0) 2021.05.21