# 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
