Nama : Tristan Satya Fatoni
NIM
: 3337260072
Kelas : B26
Anggota Kelompok:
1. Tristan Satya Fatoni
[3337260072]
2. Achmad abroar [3337260017]
3. Muhamad Fahri
Taufiki Arif [3337260073]
https://www.kaggle.com/datasets/selfvivek/environment-impact-of-food-production
Dataset yang digunakan dalam analisis ini adalah Environment Impact of Food Production yang diperoleh dari platform Kaggle. Dataset ini berisi informasi terkait dampak ekologis dan keberlanjutan dari berbagai produk makanan, mencakup data kategori produk pangan (Food Category), emisi gas rumah kaca (GHG Emissions), penggunaan lahan (Land Use), hingga penggunaan air tawar (Freshwater Withdrawals).
Dataset ini dipilih karena sangat merepresentasikan bidang lingkungan, khususnya dalam menganalisis jejak karbon dan efisiensi sumber daya dari sistem produksi pangan. Data ini menyediakan kombinasi variabel numerik dan kategorik yang ideal untuk divisualisasikan melalui histogram, pie chart, dan grafik lainnya[cite: 1]. Dengan menggunakan dataset ini, analisis dapat memberikan gambaran yang lebih mudah dipahami mengenai dampak lingkungan dari preferensi konsumsi manusia dan distribusi beban ekologisnya[cite: 1].
# Memanggil package tambahan untuk merapikan label
library(ggrepel)
# Mengambil Top 10 makanan dengan Total Emisi tertinggi
df_top10 <- data %>%
arrange(desc(Total_emissions)) %>%
head(10) %>%
mutate(
# Menghitung persentase emisi
prop = round(Total_emissions / sum(Total_emissions) * 100, 1),
# Menghitung posisi Y yang presisi untuk label agar tidak bertumpuk
ypos = cumsum(prop) - 0.5 * prop
)
# Membuat pie chart dengan label ggrepel
ggplot(df_top10, aes(x = "", y = prop, fill = reorder(`Food product`, prop))) +
geom_bar(width = 1, stat = "identity", color = "white") +
coord_polar("y", start = 0) +
# Menggunakan geom_label_repel untuk memunculkan garis penunjuk
geom_label_repel(
aes(y = ypos, label = paste0(prop, "%")),
size = 4,
show.legend = FALSE,
nudge_x = 1,
color = "black",
fill = "white", # <- Tambahan agar background label selalu putih
fontface = "bold"
) +
scale_fill_viridis_d(option = "turbo") +
labs(
title = "Top 10 Produk Makanan Penyumbang Emisi Tertinggi",
fill = "Produk Makanan"
) +
theme_void() +
theme(plot.title = element_text(face = "bold", hjust = 0.5))
Pie chart di atas menunjukkan proporsi 10 produk makanan yang memberikan kontribusi emisi gas rumah kaca terbesar di dalam dataset. Visualisasi ini memperlihatkan bahwa kategori produk hewani seperti daging sapi (Beef) dan daging domba (Lamb & Mutton) mendominasi jejak karbon secara signifikan dibandingkan produk lainnya. Garis penunjuk digunakan untuk memastikan bahwa proporsi produk dengan emisi yang lebih kecil tetap dapat terbaca dengan jelas tanpa saling tumpang tindih.
ggplot(data, aes(x = Total_emissions)) +
geom_histogram(
binwidth = 2,
fill = "coral",
color = "white",
alpha = 0.8
) +
labs(
title = "Distribusi Frekuensi Total Emisi Karbon",
x = "Total Emisi (kg CO2eq per kg produk)",
y = "Frekuensi (Jumlah Produk Makanan)"
) +
theme_minimal() +
theme(
plot.title = element_text(face = "bold", size = 14, hjust = 0.5),
axis.title = element_text(face = "bold")
)
Histogram menunjukkan sebaran nilai emisi gas rumah kaca yang dihasilkan oleh berbagai produk makanan. Distribusi data bersifat right-skewed (menceng ke kanan), mengindikasikan bahwa sebagian besar produk makanan memiliki tingkat emisi yang relatif rendah (mengelompok di sisi kiri). Hanya terdapat segelintir produk (outlier) yang menghasilkan emisi karbon yang sangat tinggi yang memanjang ke sisi kanan.
ggplot(data, aes(x = `Land use per kilogram (m² per kilogram)`, y = Total_emissions, color = `Food product`)) +
geom_point(alpha = 0.6, size = 2) +
geom_smooth(method = "lm", se = FALSE, color = "black", linetype = "dashed") +
labs(
title = "Hubungan Antara Penggunaan Lahan dan Emisi Karbon",
x = "Penggunaan Lahan (m² per kg)",
y = "Total Emisi (kg CO2eq per kg)",
color = "Produk Makanan"
) +
theme_minimal() +
theme(
plot.title = element_text(face = "bold", size = 13, hjust = 0.5),
axis.title = element_text(face = "bold"),
legend.position = "none"
)
## `geom_smooth()` using formula = 'y ~ x'
## Warning: Removed 5 rows containing non-finite outside the scale range
## (`stat_smooth()`).
## Warning: Removed 5 rows containing missing values or values outside the scale range
## (`geom_point()`).
Titik-titik persebaran memperlihatkan korelasi antara besaran lahan yang digunakan untuk memproduksi makanan dengan emisi yang dilepaskan. Garis tren putus-putus yang menanjak (positif) mengindikasikan korelasi yang searah; produk makanan yang membutuhkan lahan yang sangat luas cenderung melepaskan emisi gas rumah kaca yang lebih tinggi pula.
# Menyiapkan tabel rata-rata emisi per Produk
freqtab <- data %>%
group_by(`Food product`) %>%
summarise(Avg_Emissions = mean(Total_emissions), .groups = "drop") %>%
rename(Var1 = `Food product`)
# Membuat Needle Chart
ggplot(data = freqtab, mapping = aes(x = reorder(Var1, Avg_Emissions), y = Avg_Emissions)) +
geom_segment(
aes(x = reorder(Var1, Avg_Emissions), xend = reorder(Var1, Avg_Emissions), y = 0, yend = Avg_Emissions),
color = "skyblue"
) +
geom_point(color = "navy", size = 2, alpha = 0.6) +
coord_flip() +
scale_y_continuous(limits = c(0, max(freqtab$Avg_Emissions) * 1.15)) +
labs(
title = "Total Emisi Karbon Berdasarkan Produk Makanan",
x = "Produk Makanan",
y = "Total Emisi (kg CO2eq per kg)"
) +
theme_minimal() +
theme(
plot.title = element_text(face = "bold", size = 13, hjust = 0.5),
axis.title = element_text(face = "bold"),
axis.text.y = element_text(size = 6)
)
Visualisasi needle chart memperlihatkan disparitas dampak lingkungan antar produk secara menyeluruh. Batang jarum panjang pada kategori hewani menunjukkan titik emisi yang jauh lebih tinggi dibandingkan deretan produk nabati (seperti sayur dan kacang-kacangan) yang berada di bagian bawah grafik dengan garis jarum yang sangat pendek.