1 Abstrak

Penelitian ini menganalisis kualitas udara di Kota New York pada tahun 1973 menggunakan dataset airquality. Analisis dilakukan melalui statistik deskriptif, visualisasi distribusi variabel, korelasi antarvariabel, regresi linear sederhana, dan uji ANOVA. Hasil menunjukkan bahwa suhu memiliki hubungan positif kuat dengan ozon, sedangkan angin berhubungan negatif. Radiasi matahari juga turut memperkuat pembentukan ozon. ANOVA mengungkap adanya perbedaan signifikan kadar ozon antarbulan, terutama Juni–Juli sebagai periode tertinggi. Secara keseluruhan, variabel meteorologi dan kondisi musiman memengaruhi variasi ozon di New York.

2 Pendahuluan

Kualitas udara merupakan aspek penting yang berhubungan dengan kesehatan masyarakat dan lingkungan hidup. Salah satu indikator kualitas udara adalah ozon troposfer, yang pembentukannya dipengaruhi oleh suhu, radiasi matahari, dan kondisi atmosfer lainnya.

Dataset airquality berisi pengukuran kualitas udara harian di Kota New York pada tahun 1973. Variabel-variabel yang disediakan mencakup:

2.1 Tujuan Analisis

  1. Mendeskripsikan statistik dasar varibel.
  2. Melakukan pembersihan data pada nilai NA.
  3. Menampilkan distribusi variabel utama.
  4. Menguji hubungan antarvariabel melalui scatter plot & korelasi.
  5. Membuat model regresi linear sederhana.
  6. Menganalisis perbedaan kadar ozon per bulan menggunakan ANOVA.

2.2 Manfaat

Analisis ini memberi pemahaman mengenai faktor-faktor meteorologi yang memengaruhi ozon troposfer.


3 Gambaran Dataset

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

4 Statistik Deskriptif

summary(airquality)
##      Ozone           Solar.R           Wind             Temp      
##  Min.   :  1.00   Min.   :  7.0   Min.   : 1.700   Min.   :56.00  
##  1st Qu.: 18.00   1st Qu.:115.8   1st Qu.: 7.400   1st Qu.:72.00  
##  Median : 31.50   Median :205.0   Median : 9.700   Median :79.00  
##  Mean   : 42.13   Mean   :185.9   Mean   : 9.958   Mean   :77.88  
##  3rd Qu.: 63.25   3rd Qu.:258.8   3rd Qu.:11.500   3rd Qu.:85.00  
##  Max.   :168.00   Max.   :334.0   Max.   :20.700   Max.   :97.00  
##  NA's   :37       NA's   :7                                       
##      Month            Day      
##  Min.   :5.000   Min.   : 1.0  
##  1st Qu.:6.000   1st Qu.: 8.0  
##  Median :7.000   Median :16.0  
##  Mean   :6.993   Mean   :15.8  
##  3rd Qu.:8.000   3rd Qu.:23.0  
##  Max.   :9.000   Max.   :31.0  
## 

Pembahasan:
Data menunjukkan nilai hilang terutama pada variabel Ozone dan Solar.R, sehingga diperlukan pembersihan.


5 Pembersihan Data

air_clean <- na.omit(airquality)
air_clean
##     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
## 7      23     299  8.6   65     5   7
## 8      19      99 13.8   59     5   8
## 9       8      19 20.1   61     5   9
## 12     16     256  9.7   69     5  12
## 13     11     290  9.2   66     5  13
## 14     14     274 10.9   68     5  14
## 15     18      65 13.2   58     5  15
## 16     14     334 11.5   64     5  16
## 17     34     307 12.0   66     5  17
## 18      6      78 18.4   57     5  18
## 19     30     322 11.5   68     5  19
## 20     11      44  9.7   62     5  20
## 21      1       8  9.7   59     5  21
## 22     11     320 16.6   73     5  22
## 23      4      25  9.7   61     5  23
## 24     32      92 12.0   61     5  24
## 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
## 38     29     127  9.7   82     6   7
## 40     71     291 13.8   90     6   9
## 41     39     323 11.5   87     6  10
## 44     23     148  8.0   82     6  13
## 47     21     191 14.9   77     6  16
## 48     37     284 20.7   72     6  17
## 49     20      37  9.2   65     6  18
## 50     12     120 11.5   73     6  19
## 51     13     137 10.3   76     6  20
## 62    135     269  4.1   84     7   1
## 63     49     248  9.2   85     7   2
## 64     32     236  9.2   81     7   3
## 66     64     175  4.6   83     7   5
## 67     40     314 10.9   83     7   6
## 68     77     276  5.1   88     7   7
## 69     97     267  6.3   92     7   8
## 70     97     272  5.7   92     7   9
## 71     85     175  7.4   89     7  10
## 73     10     264 14.3   73     7  12
## 74     27     175 14.9   81     7  13
## 76      7      48 14.3   80     7  15
## 77     48     260  6.9   81     7  16
## 78     35     274 10.3   82     7  17
## 79     61     285  6.3   84     7  18
## 80     79     187  5.1   87     7  19
## 81     63     220 11.5   85     7  20
## 82     16       7  6.9   74     7  21
## 85     80     294  8.6   86     7  24
## 86    108     223  8.0   85     7  25
## 87     20      81  8.6   82     7  26
## 88     52      82 12.0   86     7  27
## 89     82     213  7.4   88     7  28
## 90     50     275  7.4   86     7  29
## 91     64     253  7.4   83     7  30
## 92     59     254  9.2   81     7  31
## 93     39      83  6.9   81     8   1
## 94      9      24 13.8   81     8   2
## 95     16      77  7.4   82     8   3
## 99    122     255  4.0   89     8   7
## 100    89     229 10.3   90     8   8
## 101   110     207  8.0   90     8   9
## 104    44     192 11.5   86     8  12
## 105    28     273 11.5   82     8  13
## 106    65     157  9.7   80     8  14
## 108    22      71 10.3   77     8  16
## 109    59      51  6.3   79     8  17
## 110    23     115  7.4   76     8  18
## 111    31     244 10.9   78     8  19
## 112    44     190 10.3   78     8  20
## 113    21     259 15.5   77     8  21
## 114     9      36 14.3   72     8  22
## 116    45     212  9.7   79     8  24
## 117   168     238  3.4   81     8  25
## 118    73     215  8.0   86     8  26
## 120    76     203  9.7   97     8  28
## 121   118     225  2.3   94     8  29
## 122    84     237  6.3   96     8  30
## 123    85     188  6.3   94     8  31
## 124    96     167  6.9   91     9   1
## 125    78     197  5.1   92     9   2
## 126    73     183  2.8   93     9   3
## 127    91     189  4.6   93     9   4
## 128    47      95  7.4   87     9   5
## 129    32      92 15.5   84     9   6
## 130    20     252 10.9   80     9   7
## 131    23     220 10.3   78     9   8
## 132    21     230 10.9   75     9   9
## 133    24     259  9.7   73     9  10
## 134    44     236 14.9   81     9  11
## 135    21     259 15.5   76     9  12
## 136    28     238  6.3   77     9  13
## 137     9      24 10.9   71     9  14
## 138    13     112 11.5   71     9  15
## 139    46     237  6.9   78     9  16
## 140    18     224 13.8   67     9  17
## 141    13      27 10.3   76     9  18
## 142    24     238 10.3   68     9  19
## 143    16     201  8.0   82     9  20
## 144    13     238 12.6   64     9  21
## 145    23      14  9.2   71     9  22
## 146    36     139 10.3   81     9  23
## 147     7      49 10.3   69     9  24
## 148    14      20 16.6   63     9  25
## 149    30     193  6.9   70     9  26
## 151    14     191 14.3   75     9  28
## 152    18     131  8.0   76     9  29
## 153    20     223 11.5   68     9  30

Jumlah data setelah pembersihan:

nrow(air_clean)
## [1] 111

Pembahasan:
Dataset yang sudah dibersihkan memiliki observasi penuh dan siap dianalisis lebih lanjut.


6 Distribusi Variabel Utama

6.1 Distribusi Suhu Udara

hist(air_clean$Temp,
     main = "Distribusi Suhu Udara",
     xlab = "Suhu (°F)",
     col = "lightgreen", border = "darkgreen")

Pembahasan:
Sebagian besar suhu berada pada rentang 70–90°F, mencerminkan kondisi musim panas yang mendukung pembentukan ozon.


6.2 Distribusi Kadar Ozon

hist(air_clean$Ozone,
     main = "Distribusi Kadar Ozon",
     xlab = "Ozon (ppb)",
     col = "skyblue", border = "blue")

Pembahasan:
Distribusi kadar ozon cukup menyebar dengan beberapa titik tinggi yang menandakan adanya hari-hari dengan kondisi atmosfer ekstrem.


6.3 Distribusi Kecepatan Angin

hist(air_clean$Wind,
     main = "Distribusi Kecepatan Angin",
     xlab = "Wind (mph)",
     col = "lightyellow", border = "gold")

Pembahasan:
Sebagian besar angin bergerak pada kecepatan 5–15 mph. Angin berfungsi menyebarkan polutan, sehingga kecepatan yang lebih tinggi biasanya berkaitan dengan ozon lebih rendah.


7 Kadar Ozon Berdasarkan Bulan

boxplot(Ozone ~ Month, data = air_clean,
        main = "Kadar Ozon Berdasarkan Bulan",
        xlab = "Bulan",
        ylab = "Ozon (ppb)",
        col = "orange")

Pembahasan:
Bulan Juni dan Juli memiliki kadar ozon tertinggi. Kondisi ini sejalan dengan suhu dan radiasi matahari yang lebih tinggi pada pertengahan musim panas.


8 Hubungan Antarvariabel

8.1 Scatter Plot Suhu vs Ozon

plot(air_clean$Temp, air_clean$Ozone,
     main = "Hubungan Suhu dan Ozon",
     xlab = "Suhu (°F)",
     ylab = "Ozon (ppb)",
     pch = 19, col = "purple")
abline(lm(Ozone ~ Temp, data = air_clean), col = "red", lwd = 2)

Pembahasan:
Hubungan positif terlihat jelas. Suhu lebih tinggi berkaitan dengan kadar ozon yang lebih tinggi. Garis regresi menunjukkan pola linear yang kuat.


9 Korelasi Antarvariabel

cor(air_clean[, c("Ozone", "Solar.R", "Wind", "Temp")])
##              Ozone    Solar.R       Wind       Temp
## Ozone    1.0000000  0.3483417 -0.6124966  0.6985414
## Solar.R  0.3483417  1.0000000 -0.1271835  0.2940876
## Wind    -0.6124966 -0.1271835  1.0000000 -0.4971897
## Temp     0.6985414  0.2940876 -0.4971897  1.0000000

Pembahasan Korelasi:


9.1 Heatmap Korelasi

corr <- cor(air_clean[, c("Ozone", "Solar.R", "Wind", "Temp")])
image(corr, axes = FALSE, main = "Heatmap Korelasi")
axis(1, at = seq(0,1,length=4), labels = colnames(corr))
axis(2, at = seq(0,1,length=4), labels = colnames(corr))

Pembahasan:
Heatmap menunjukkan hubungan paling kuat adalah antara suhu dan ozon, serta hubungan negatif antara angin dan ozon. Heatmap menunjukkan intensitas korelasi menggunakan tingkat kecerahan warna.
- Warna terang: korelasi positif yang kuat (misal Ozone–Temp).
- Warna gelap: korelasi negatif atau lemah (misal Ozone–Wind).
- Pola heatmap memperkuat hasil korelasi numerik sebelumnya.


10 Regresi Linear Sederhana

model <- lm(Ozone ~ Temp, data = air_clean)
summary(model)
## 
## Call:
## lm(formula = Ozone ~ Temp, data = air_clean)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -40.922 -17.459  -0.874  10.444 118.078 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)    
## (Intercept) -147.6461    18.7553  -7.872 2.76e-12 ***
## Temp           2.4391     0.2393  10.192  < 2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 23.92 on 109 degrees of freedom
## Multiple R-squared:  0.488,  Adjusted R-squared:  0.4833 
## F-statistic: 103.9 on 1 and 109 DF,  p-value: < 2.2e-16

Pembahasan:
Model regresi menunjukkan bahwa suhu secara signifikan mempengaruhi kadar ozon. Koefisien positif mengartikan bahwa setiap kenaikan satu derajat suhu dapat meningkatkan ozon.


11 Analisis ANOVA (One-Way)

anova_model <- aov(Ozone ~ factor(Month), data = air_clean)
summary(anova_model)
##                Df Sum Sq Mean Sq F value   Pr(>F)    
## factor(Month)   4  27383    6846   7.686 1.78e-05 ***
## Residuals     106  94419     891                     
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Pembahasan:
Hasil ANOVA (p-value < 0.05) menunjukkan bahwa rata-rata ozon berbeda signifikan antar bulan. Hal ini mendukung temuan boxplot.


11.1 Uji Lanjutan Tukey

TukeyHSD(anova_model)
##   Tukey multiple comparisons of means
##     95% family-wise confidence level
## 
## Fit: aov(formula = Ozone ~ factor(Month), data = air_clean)
## 
## $`factor(Month)`
##            diff        lwr       upr     p adj
## 6-5   5.3194444 -27.055937 37.694826 0.9909676
## 7-5  34.9903846  11.543913 58.436857 0.0006529
## 8-5  35.8750000  11.705694 60.044306 0.0007086
## 9-5   7.3232759 -15.533665 30.180217 0.9003224
## 7-6  29.6709402  -2.363039 61.704919 0.0832942
## 8-6  30.5555556  -2.011209 63.122320 0.0768729
## 9-6   2.0038314 -29.601208 33.608871 0.9997820
## 8-7   0.8846154 -22.825422 24.594653 0.9999736
## 9-7 -27.6671088 -50.037855 -5.296363 0.0074736
## 9-8 -28.5517241 -51.678950 -5.424498 0.0076199

Pembahasan:
Tukey menunjukkan pasangan bulan mana yang berbeda signifikan, terutama bulan Juni dan Juli dibandingkan Mei atau September.


12 Kesimpulan