library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr 1.1.4 ✔ readr 2.1.4
## ✔ forcats 1.0.0 ✔ stringr 1.5.1
## ✔ ggplot2 3.4.4 ✔ tibble 3.2.1
## ✔ lubridate 1.9.3 ✔ tidyr 1.3.0
## ✔ purrr 1.0.2
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag() masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
library(datasets)
library(vctrs)
##
## Attaching package: 'vctrs'
##
## The following object is masked from 'package:dplyr':
##
## data_frame
##
## The following object is masked from 'package:tibble':
##
## data_frame
data("airquality")
airquality <- tibble::as.tibble(airquality)
## Warning: `as.tibble()` was deprecated in tibble 2.0.0.
## ℹ Please use `as_tibble()` instead.
## ℹ The signature and semantics have changed, see `?as_tibble`.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.
class(airquality)
## [1] "tbl_df" "tbl" "data.frame"
view(airquality)
glimpse(airquality)
## Rows: 153
## Columns: 6
## $ Ozone <int> 41, 36, 12, 18, NA, 28, 23, 19, 8, NA, 7, 16, 11, 14, 18, 14, …
## $ Solar.R <int> 190, 118, 149, 313, NA, NA, 299, 99, 19, 194, NA, 256, 290, 27…
## $ Wind <dbl> 7.4, 8.0, 12.6, 11.5, 14.3, 14.9, 8.6, 13.8, 20.1, 8.6, 6.9, 9…
## $ Temp <int> 67, 72, 74, 62, 56, 66, 65, 59, 61, 69, 74, 69, 66, 68, 58, 64…
## $ Month <int> 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,…
## $ Day <int> 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,…
mean(airquality$Temp) == airquality$Temp %>% mean()
## [1] TRUE
head (airquality)
## # A tibble: 6 × 6
## Ozone Solar.R Wind Temp Month Day
## <int> <int> <dbl> <int> <int> <int>
## 1 41 190 7.4 67 5 1
## 2 36 118 8 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
?glimpse
## starting httpd help server ... done
glimpse (airquality)
## Rows: 153
## Columns: 6
## $ Ozone <int> 41, 36, 12, 18, NA, 28, 23, 19, 8, NA, 7, 16, 11, 14, 18, 14, …
## $ Solar.R <int> 190, 118, 149, 313, NA, NA, 299, 99, 19, 194, NA, 256, 290, 27…
## $ Wind <dbl> 7.4, 8.0, 12.6, 11.5, 14.3, 14.9, 8.6, 13.8, 20.1, 8.6, 6.9, 9…
## $ Temp <int> 67, 72, 74, 62, 56, 66, 65, 59, 61, 69, 74, 69, 66, 68, 58, 64…
## $ Month <int> 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,…
## $ Day <int> 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,…
mean (airquality$Temp)
## [1] 77.88235
?airquality
mean (airquality$Temp) == airquality$Temp %>% mean()
## [1] TRUE
#summarize
## Menghitung rata-rata Temp
airquality %>% summarize(mean=mean(Temp))
## # A tibble: 1 × 1
## mean
## <dbl>
## 1 77.9
## Mengurutkan berdasarkan peubah Temp dari nilai terkecil
airquality %>% arrange(Temp)
## # A tibble: 153 × 6
## Ozone Solar.R Wind Temp Month Day
## <int> <int> <dbl> <int> <int> <int>
## 1 NA NA 14.3 56 5 5
## 2 6 78 18.4 57 5 18
## 3 NA 66 16.6 57 5 25
## 4 NA NA 8 57 5 27
## 5 18 65 13.2 58 5 15
## 6 NA 266 14.9 58 5 26
## 7 19 99 13.8 59 5 8
## 8 1 8 9.7 59 5 21
## 9 8 19 20.1 61 5 9
## 10 4 25 9.7 61 5 23
## # ℹ 143 more rows
## Mengurutkan berdasarkan peubah Temp dari nilai terbesar
airquality %>% arrange(desc(Temp))
## # A tibble: 153 × 6
## Ozone Solar.R Wind Temp Month Day
## <int> <int> <dbl> <int> <int> <int>
## 1 76 203 9.7 97 8 28
## 2 84 237 6.3 96 8 30
## 3 118 225 2.3 94 8 29
## 4 85 188 6.3 94 8 31
## 5 NA 259 10.9 93 6 11
## 6 73 183 2.8 93 9 3
## 7 91 189 4.6 93 9 4
## 8 NA 250 9.2 92 6 12
## 9 97 267 6.3 92 7 8
## 10 97 272 5.7 92 7 9
## # ℹ 143 more rows
#Filter memilih kualitas udara berdasarkan bulan (contoh: bulan 9)
airquality %>% filter(Month =="9")
## # A tibble: 30 × 6
## Ozone Solar.R Wind Temp Month Day
## <int> <int> <dbl> <int> <int> <int>
## 1 96 167 6.9 91 9 1
## 2 78 197 5.1 92 9 2
## 3 73 183 2.8 93 9 3
## 4 91 189 4.6 93 9 4
## 5 47 95 7.4 87 9 5
## 6 32 92 15.5 84 9 6
## 7 20 252 10.9 80 9 7
## 8 23 220 10.3 78 9 8
## 9 21 230 10.9 75 9 9
## 10 24 259 9.7 73 9 10
## # ℹ 20 more rows
airquality %>% select(Temp, Month)
## # A tibble: 153 × 2
## Temp Month
## <int> <int>
## 1 67 5
## 2 72 5
## 3 74 5
## 4 62 5
## 5 56 5
## 6 66 5
## 7 65 5
## 8 59 5
## 9 61 5
## 10 69 5
## # ℹ 143 more rows
airquality %>% select(-Temp, -Month)
## # A tibble: 153 × 4
## Ozone Solar.R Wind Day
## <int> <int> <dbl> <int>
## 1 41 190 7.4 1
## 2 36 118 8 2
## 3 12 149 12.6 3
## 4 18 313 11.5 4
## 5 NA NA 14.3 5
## 6 28 NA 14.9 6
## 7 23 299 8.6 7
## 8 19 99 13.8 8
## 9 8 19 20.1 9
## 10 NA 194 8.6 10
## # ℹ 143 more rows
# Laju kenaikan suhu setiap harinya terhadap kualitas udara (mutate)
lajusuhu <- airquality %>% mutate(lajusuhu = c(NA, diff(Temp)))
lajusuhu %>% print
## # A tibble: 153 × 7
## Ozone Solar.R Wind Temp Month Day lajusuhu
## <int> <int> <dbl> <int> <int> <int> <int>
## 1 41 190 7.4 67 5 1 NA
## 2 36 118 8 72 5 2 5
## 3 12 149 12.6 74 5 3 2
## 4 18 313 11.5 62 5 4 -12
## 5 NA NA 14.3 56 5 5 -6
## 6 28 NA 14.9 66 5 6 10
## 7 23 299 8.6 65 5 7 -1
## 8 19 99 13.8 59 5 8 -6
## 9 8 19 20.1 61 5 9 2
## 10 NA 194 8.6 69 5 10 8
## # ℹ 143 more rows