# Memuat dataset bawaan
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
# Memulai library dplyr
library(dplyr)
## Warning: package 'dplyr' was built under R version 4.4.2
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
# Rata-rata, maksimum, dan minimum Ozone dan Temp
airquality_summary <- airquality %>%
  summarise(
    mean_ozone = mean(Ozone, na.rm = TRUE),
    max_ozone = max(Ozone, na.rm = TRUE),
    min_ozone = min(Ozone, na.rm = TRUE),
    mean_temp = mean(Temp, na.rm = TRUE),
    max_temp = max(Temp, na.rm = TRUE),
    min_temp = min(Temp, na.rm = TRUE)
  )
airquality_summary
##   mean_ozone max_ozone min_ozone mean_temp max_temp min_temp
## 1   42.12931       168         1  77.88235       97       56
# Mengambil Ozone > 50 & Temp > 80
filtered_ozone_temp <- subset(airquality, Ozone > 50 & Temp > 80)
head (filtered_ozone_temp)
##    Ozone Solar.R Wind Temp Month Day
## 40    71     291 13.8   90     6   9
## 62   135     269  4.1   84     7   1
## 66    64     175  4.6   83     7   5
## 68    77     276  5.1   88     7   7
## 69    97     267  6.3   92     7   8
## 70    97     272  5.7   92     7   9
# Mengambil Temp > 80
filtered_temp <- subset(airquality, Temp > 80)
head(filtered_temp)
##    Ozone Solar.R Wind Temp Month Day
## 29    45     252 14.9   81     5  29
## 35    NA     186  9.2   84     6   4
## 36    NA     220  8.6   85     6   5
## 38    29     127  9.7   82     6   7
## 39    NA     273  6.9   87     6   8
## 40    71     291 13.8   90     6   9
# Mengurutkan berdasarkan Temp descending
airquality_arranged <- airquality %>%
  arrange(desc(Temp))
head(airquality_arranged)
##   Ozone Solar.R Wind Temp Month Day
## 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
# Menambahkan kolom Temp_F (Temperatur Fahrenheit)
airquality_mutated <- airquality %>%
  mutate(Temp_F = Temp * 9/5 + 32)
head(airquality_mutated)
##   Ozone Solar.R Wind Temp Month Day Temp_F
## 1    41     190  7.4   67     5   1  152.6
## 2    36     118  8.0   72     5   2  161.6
## 3    12     149 12.6   74     5   3  165.2
## 4    18     313 11.5   62     5   4  143.6
## 5    NA      NA 14.3   56     5   5  132.8
## 6    28      NA 14.9   66     5   6  150.8
# Memilih kolom Ozone, Temp, dan Wind saja
airquality_selected <- airquality %>%
  select(Ozone, Temp, Wind)
head(airquality_selected)
##   Ozone Temp Wind
## 1    41   67  7.4
## 2    36   72  8.0
## 3    12   74 12.6
## 4    18   62 11.5
## 5    NA   56 14.3
## 6    28   66 14.9
# Kombinasi : Memilih ozone > 50 dan summarise
airquality_combined <- airquality %>%
  filter(Ozone > 50) %>%
  summarise(mean_temp = mean(Temp, na.rm = TRUE))
airquality_combined
##   mean_temp
## 1  87.64706
#  Kombinasi: Memilih kolom, menyaring bulan Juni, dan mengurutkan berdasarkan Temp
data_combined <- airquality %>%
  select(Ozone, Temp, Month) %>%    # Memilih kolom yang diperlukan
  filter(Month == 6) %>%            # Menyaring data untuk bulan Juni
  arrange(Temp)                     # Mengurutkan berdasarkan Temp secara ascending
head(data_combined)
##   Ozone Temp Month
## 1    20   65     6
## 2    NA   67     6
## 3    37   72     6
## 4    12   73     6
## 5    NA   73     6
## 6    NA   74     6
# Membuat scatterplot antara Suhu dan Ozon
plot(airquality$Temp, airquality$Ozone,
     xlab = "Temperature (°C)",                 # Label sumbu-x
     ylab = "Ozone (ppb)",                      # Label sumbu-y
     main = "Scatterplot Ozone vs Temperature", # Judul plot
     pch = 19, col = "blue")                    # besar titik dan warnanya