# Cek data awal
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
# Meringkas data dengan rata-rata Ozon dan Suhu 
ringkasan <- airquality %>%
  summarise(
    Avg_Ozone = mean(Ozone, na.rm = TRUE),      # Rata-rata kadar Ozon, abaikan NA
    Avg_Temp = mean(Temp, na.rm = TRUE)         # Rata-rata suhu, abaikan NA
  )
ringkasan
##   Avg_Ozone Avg_Temp
## 1  42.12931 77.88235
# Mengurutkan data berdasarkan Ozone secara descending
data_urut <- airquality %>%
  arrange(desc(Ozone))   # Mengurutkan kolom Ozone dari nilai tertinggi ke terendah

head(data_urut)
##   Ozone Solar.R Wind Temp Month Day
## 1   168     238  3.4   81     8  25
## 2   135     269  4.1   84     7   1
## 3   122     255  4.0   89     8   7
## 4   118     225  2.3   94     8  29
## 5   115     223  5.7   79     5  30
## 6   110     207  8.0   90     8   9
# Menyaring data hanya untuk bulan Mei
data_bulan_mei <- airquality %>%
  filter(Month == 5)                            # Memfilter data untuk Bulan = 5 (Mei) 

head(data_bulan_mei)
##   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
# Menambah kolom baru dengan Suhu dalam Fahrenheit
airquality_with_fahrenheit <- airquality %>%
  mutate(Temp_Fahrenheit = Temp * 9/5 + 32)     # Konversi suhu dari Celcius ke Fahrenheit

head(airquality_with_fahrenheit)
##   Ozone Solar.R Wind Temp Month Day Temp_Fahrenheit
## 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 Month saja
data_terpilih <- airquality %>%
  select(Ozone, Temp, Month)

head(data_terpilih)
##   Ozone Temp Month
## 1    41   67     5
## 2    36   72     5
## 3    12   74     5
## 4    18   62     5
## 5    NA   56     5
## 6    28   66     5
# Kombinasi: Memilih kolom, menyaring bulan Mei, dan mengurutkan berdasarkan Temp
data_combined <- airquality %>%
  select(Ozone, Temp, Month) %>%    # Memilih kolom yang diperlukan
  filter(Month == 5) %>%            # Menyaring data untuk bulan Mei
  arrange(Temp)                     # Mengurutkan berdasarkan Temp secara ascending

head(data_combined)
##   Ozone Temp Month
## 1    NA   56     5
## 2     6   57     5
## 3    NA   57     5
## 4    NA   57     5
## 5    18   58     5
## 6    NA   58     5
# 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