Mobil pertama ditemukan pada akhir abad ke-19 oleh insinyur Jerman Karl Benz. Dia dikreditkan dengan menciptakan mobil praktis pertama yang ditenagai oleh mesin pembakaran internal. Benz Patent-Motorwagen, demikian sebutannya, dipatenkan pada 29 Januari 1886 dan dianggap sebagai mobil sejati pertama. Penemuan mobil memiliki dampak besar pada dunia modern, merevolusi transportasi dan mengubah cara orang hidup dan bekerja.
Emisi mobil mengacu pada polutan yang dilepaskan ke udara dari knalpot kendaraan bermotor, seperti mobil, truk, dan bus. Emisi ini termasuk zat berbahaya seperti karbon monoksida, nitrogen oksida, partikel, dan gas rumah kaca seperti karbon dioksida. Tingkat emisi mobil yang tinggi dapat berkontribusi terhadap polusi udara, yang dapat berdampak negatif pada kesehatan manusia dan lingkungan, seperti masalah pernapasan dan perubahan iklim. Untuk mengatasi masalah ini, pemerintah di seluruh dunia telah menerapkan peraturan untuk mengurangi emisi dari kendaraan, seperti standar emisi untuk mobil baru dan penggunaan teknologi yang lebih bersih seperti kendaraan listrik dan hibrida.
Emisi adalah polutan dari kendaraan bermotor yang sebagian besar mengandung zat berbahaya seperti karbon monoksida, dll
Data tersimpan dalam consumption-rating.csv berisi data
transaksi emisi mobil berdasarkan merek, tipe, dan mesin. Data bersumber
dari Kaggle.
library(ggplot2)
# read data
car_compsution <- read.csv("data_input/consumption_rating.csv")Deskripsi kolom:
Model.Year: Tahun ManufakturMake: ManufakturModel: Tipe mobilVehicle.Class: Kelas MobilEngine.Size.L: Kapasitas mesin dalam literCylinders: Silinder MesinTransmission: Transmisi MesinFuel.Type: Tipe Bahan BakarFuel.Consumption..City..L.100.km.: Konsumsi bahan bakar
untuk perjalanan dalam kota dalam liter per 100 KMFuel.Consumption.Hwy..L.100.km..: Konsumsi bahan bakar
untuk perjalanan jalan tol dalam liter per 100 KMFuel.Consumption..City..L.100.km.: Konsumsi bahan bakar
untuk perjalanan kombinasi dalam liter per 100 KMFuel.Consumption.Comb..mpg..: Konsumsi bahan bakar
untuk perjalanan kombinasi dalam
miles per imperial gallonDeskripri Nilai Data :
Model:
Transmission:
Fuel type:
print(paste("Total Baris : ", dim(car_compsution)[1]))#> [1] "Total Baris : 946"
print(paste("Total Kolom : ", dim(car_compsution)[2]))#> [1] "Total Kolom : 15"
names(car_compsution)#> [1] "Model.Year" "Make"
#> [3] "Model" "Vehicle.Class"
#> [5] "Engine.Size.L." "Cylinders"
#> [7] "Transmission" "Fuel.Type"
#> [9] "Fuel.Consumption..City..L.100.km." "Fuel.Consumption.Hwy..L.100.km.."
#> [11] "Fuel.Consumption.Comb..L.100.km.." "Fuel.Consumption.Comb..mpg.."
#> [13] "CO2.Emissions.g.km." "CO2.Rating"
#> [15] "Smog.Rating"
str(car_compsution)#> 'data.frame': 946 obs. of 15 variables:
#> $ Model.Year : int 2022 2022 2022 2022 2022 2022 2022 2022 2022 2022 ...
#> $ Make : chr "Acura" "Acura" "Acura" "Acura" ...
#> $ Model : chr "ILX" "MDX SH-AWD" "RDX SH-AWD" "RDX SH-AWD A-SPEC" ...
#> $ Vehicle.Class : chr "Compact" "SUV: Small" "SUV: Small" "SUV: Small" ...
#> $ Engine.Size.L. : num 2.4 3.5 2 2 2 2 3 3 2 2 ...
#> $ Cylinders : int 4 6 4 4 4 4 6 6 4 4 ...
#> $ Transmission : chr "AM8" "AS10" "AS10" "AS10" ...
#> $ Fuel.Type : chr "Z" "Z" "Z" "Z" ...
#> $ Fuel.Consumption..City..L.100.km.: num 9.9 12.6 11 11.3 11.2 11.3 12.3 12.3 10 10.5 ...
#> $ Fuel.Consumption.Hwy..L.100.km.. : num 7 9.4 8.6 9.1 8 8.1 9.4 9.8 7.2 7.7 ...
#> $ Fuel.Consumption.Comb..L.100.km..: num 8.6 11.2 9.9 10.3 9.8 9.8 11 11.2 8.7 9.2 ...
#> $ Fuel.Consumption.Comb..mpg.. : int 33 25 29 27 29 29 26 25 32 31 ...
#> $ CO2.Emissions.g.km. : int 200 263 232 242 230 231 256 261 205 217 ...
#> $ CO2.Rating : int 6 4 5 5 5 5 5 4 6 5 ...
#> $ Smog.Rating : int 3 5 6 6 7 7 5 5 3 3 ...
head(car_compsution)1. Buat Nama mobil dengan menggabungkan Make dan
Model
car_compsution$Product_name <- paste0(car_compsution$Make, " " ,car_compsution$Model)2. Ubah nama kolom sesuai dengan representasi datanya, agar lebih mudah`
names(car_compsution)[names(car_compsution) == 'Vehicle.Class'] <- "Class"
names(car_compsution)[names(car_compsution) == 'Engine.Size.L.'] <- "Engine_in_litres"
names(car_compsution)[names(car_compsution) == 'Fuel.Type'] <- "Fuel_type"
names(car_compsution)[names(car_compsution) == 'Fuel.Consumption..City..L.100.km.'] <- "Fuel_consumption_city_l_per_100km"
names(car_compsution)[names(car_compsution) == 'Fuel.Consumption.Hwy..L.100.km..'] <- "Fuel_consumption_highway_l_per_100km"
names(car_compsution)[names(car_compsution) == 'Fuel.Consumption.Comb..L.100.km..'] <- "Fuel_consumption_combine_l_per_100km"
names(car_compsution)[names(car_compsution) == 'Fuel.Consumption.Comb..mpg..'] <- "Fuel_consumption_combine_l_mpg"
names(car_compsution)[names(car_compsution) == 'CO2.Emissions.g.km.'] <- "CO2_emission_in_g_per_km"sudah ditambahkan Product_name sebagai reprentasi unik nama mobilnya
car_compsution[1,]anyNA(car_compsution)#> [1] FALSE
insight : … tidak ada data yang NA value
sum(duplicated(car_compsution))#> [1] 0
insight : … tidak ada data duplikat
car_compsution$Make <- as.factor(car_compsution$Make)
car_compsution$Class <- as.factor(car_compsution$Class)
car_compsution$Fuel_type <- as.factor(car_compsution$Fuel_type)
car_compsution$Transmission <- as.factor(car_compsution$Transmission)1. Brand mobil apakah yang mempunyai konsumsi bahan bakar yang lebih baik?
2. Mobil apakah yang mempunyai konsumsi bahan bakar yang lebih baik?
3. Brand mobil apakah yang mempunyai Rating Emisi dan Smog yang lebih baik?
4. Mobil apakah yang mempunyai Rating Emisi dan Smog yang lebih baik?
5. Tipe Mobil apakah yang mempunyai Rating Emisi dan Smog yang lebih baik?
5. Tipe Mobil apakah yang mempunyai Konsumsi Bahan bakar yang lebih baik?
6. Apakah Ada pengaruh Kapasitas mesin terhadap emisi dan Smog?
7. Apakah ada pengaruh Tipe bahan bakar terhadap emisi dan smog?
8. Apakah ada pengaruh konsumsi bahan bakar terhadap emisi dan smug?
summary(car_compsution)#> Model.Year Make Model Class
#> Min. :2022 Ford : 89 Length:946 SUV: Small :197
#> 1st Qu.:2022 Chevrolet: 80 Class :character SUV: Standard :141
#> Median :2022 Porsche : 77 Mode :character Mid-size :117
#> Mean :2022 BMW : 60 Pickup truck: Standard:113
#> 3rd Qu.:2022 GMC : 54 Subcompact : 80
#> Max. :2022 Toyota : 51 Compact : 69
#> (Other) :535 (Other) :229
#> Engine_in_litres Cylinders Transmission Fuel_type
#> Min. :1.200 Min. : 3.000 AS8 :212 D: 28
#> 1st Qu.:2.000 1st Qu.: 4.000 A8 :100 E: 14
#> Median :3.000 Median : 6.000 AS10 : 87 X:446
#> Mean :3.199 Mean : 5.668 A10 : 72 Z:458
#> 3rd Qu.:3.800 3rd Qu.: 6.000 M6 : 71
#> Max. :8.000 Max. :16.000 AM7 : 70
#> (Other):334
#> Fuel_consumption_city_l_per_100km Fuel_consumption_highway_l_per_100km
#> Min. : 4.00 Min. : 3.900
#> 1st Qu.:10.20 1st Qu.: 7.700
#> Median :12.20 Median : 9.200
#> Mean :12.51 Mean : 9.363
#> 3rd Qu.:14.70 3rd Qu.:10.700
#> Max. :30.30 Max. :20.900
#>
#> Fuel_consumption_combine_l_per_100km Fuel_consumption_combine_l_mpg
#> Min. : 4.00 Min. :11.00
#> 1st Qu.: 9.10 1st Qu.:22.00
#> Median :10.80 Median :26.00
#> Mean :11.09 Mean :27.25
#> 3rd Qu.:12.90 3rd Qu.:31.00
#> Max. :26.10 Max. :71.00
#>
#> CO2_emission_in_g_per_km CO2.Rating Smog.Rating Product_name
#> Min. : 94.0 Min. : 1.000 Min. :1.00 Length:946
#> 1st Qu.:213.2 1st Qu.: 3.000 1st Qu.:3.00 Class :character
#> Median :257.0 Median : 5.000 Median :5.00 Mode :character
#> Mean :259.2 Mean : 4.539 Mean :4.95
#> 3rd Qu.:300.8 3rd Qu.: 5.000 3rd Qu.:6.00
#> Max. :608.0 Max. :10.000 Max. :7.00
#>
boxplot(car_compsution$CO2.Rating, horizontal = T,
main="Karakteristik Data CO2 Rating",
xlab="Value",
ylab="CO2 Rating",
col="orange",
border="brown"
)insight : …
boxplot(car_compsution$Smog.Rating, horizontal = T,
main="Karakteristik Data Smog Rating",
xlab="Value",
ylab="Smog Rating",
col="orange",
border="brown"
)insight : …
boxplot(car_compsution$CO2_emission_in_g_per_km, horizontal = T,
main="Karakteristik CO2 Emisi per KM",
xlab="Value",
ylab="CO2 Emisi",
col="orange",
border="brown")insight : …
library(GGally)
ggcorr(car_compsution, label = T)cor.test(x = car_compsution$Engine_in_litres, y = car_compsution$CO2.Rating)#>
#> Pearson's product-moment correlation
#>
#> data: car_compsution$Engine_in_litres and car_compsution$CO2.Rating
#> t = -36.65, df = 944, p-value < 0.00000000000000022
#> alternative hypothesis: true correlation is not equal to 0
#> 95 percent confidence interval:
#> -0.7914153 -0.7386754
#> sample estimates:
#> cor
#> -0.7663334
insight : …
1. Brand mobil apakah yang mempunyai konsumsi bahan bakar yang lebih baik?
kita akan mengelompokkan brand mobil terhadap konsumsi bahan bakar
ranking_brand <- aggregate(Fuel_consumption_city_l_per_100km ~ Make,
car_compsution,
FUN = mean
)
ranking_brand <- ranking_brand[order(ranking_brand$Fuel_consumption_city_l_per_100km), ]
barplot(height = ranking_brand[1:5,]$Fuel_consumption_city_l_per_100km,
horiz = T, names.arg = ranking_brand[1:5, ]$Make, las=2)insight : …
2. Mobil apakah yang mempunyai konsumsi bahan bakar yang lebih baik?
ranking_car <- aggregate(Fuel_consumption_city_l_per_100km ~ Product_name,
car_compsution,
FUN = mean
)
ranking_car <- ranking_car[order(ranking_car$Fuel_consumption_city_l_per_100km), ]
barplot(height = ranking_car[1:5,]$Fuel_consumption_city_l_per_100km,
horiz = F, las=2, legend = ranking_car[1:5,]$Product_name, col = c("blue", "red", "green", "yellow", "black"))insight : …
3. Brand mobil apakah yang mempunyai Rating Emisi dan Smog yang lebih baik?
ranking_car_emisi <- aggregate(CO2.Rating ~ Make,
car_compsution,
FUN = mean
)
ranking_car_emisi <- ranking_car_emisi[order(ranking_car_emisi$CO2.Rating), ]
barplot(height = ranking_car_emisi[1:5,]$CO2.Rating,
horiz = F, las=2, legend = ranking_car_emisi[1:5,]$Make, col = c("blue", "red", "green", "yellow", "black"))
brand brand tersebut jarang dimiliki, kita akan membuat batasan pada
data ini yaitu sebesar 50 frequency, kemudian kita akan hitung CO2 Rate
yang terbaik
ranking_car_emisi_total <- xtabs(~Make, car_compsution)
ranking_car_emisi_total <- as.data.frame(ranking_car_emisi_total)
ranking_car_emisi_total <- ranking_car_emisi_total[order(ranking_car_emisi_total$Freq), ]
ranking_car_emisi_total <- ranking_car_emisi_total[ranking_car_emisi_total$Freq > 50, ]
car_compsution_filter <- car_compsution[car_compsution$Make %in% ranking_car_emisi_total[,1],]
ranking_car_emisi_filter <- aggregate(CO2.Rating ~ Make,
car_compsution_filter,
FUN = mean
)
ranking_car_emisi_filter <- ranking_car_emisi_filter[order(ranking_car_emisi_filter$CO2.Rating), ]
barplot(height = ranking_car_emisi_filter[1:5,]$CO2.Rating,
horiz = F, las=2, legend = ranking_car_emisi_filter[1:5,]$Make, col = c("blue", "red", "green", "yellow", "black"))ranking_car_smog_filter <- aggregate(Smog.Rating ~ Make,
car_compsution_filter,
FUN = mean
)
ranking_car_smog_filter <- ranking_car_smog_filter[order(ranking_car_smog_filter$Smog.Rating), ]
barplot(height = ranking_car_smog_filter[1:5,]$Smog.Rating,
horiz = F, las=2, legend = ranking_car_smog_filter[1:5,]$Make, col = c("blue", "red", "green", "yellow", "black"))insight : …
4. Mobil apakah yang mempunyai Rating Emisi dan Smog yang lebih baik?
ranking_car_name_emision_filter <- aggregate(CO2.Rating ~ Product_name,
car_compsution_filter,
FUN = mean
)
ranking_car_name_emision_filter <- ranking_car_name_emision_filter[order(ranking_car_name_emision_filter$CO2.Rating), ]
ranking_car_name_emision_filterbarplot(height = ranking_car_name_emision_filter[1:5,]$CO2.Rating,
horiz = F, las=2, legend = ranking_car_name_emision_filter[1:5,]$Product_name, col = c("blue", "red", "green", "yellow", "black"))ranking_car_name_smog_filter <- aggregate(Smog.Rating ~ Product_name,
car_compsution_filter,
FUN = mean
)
ranking_car_name_smog_filter <- ranking_car_name_smog_filter[order(ranking_car_name_smog_filter$Smog.Rating), ]
ranking_car_name_smog_filterbarplot(height = ranking_car_name_smog_filter[1:5,]$Smog.Rating,
horiz = F, las=2, legend = ranking_car_name_smog_filter[1:5,]$Product_name, col = c("blue", "red", "green", "yellow", "black"))insight : …
5. Tipe Mobil apakah yang mempunyai Rating Emisi dan Smog yang lebih baik?
ranking_car_class_emission <- aggregate(CO2.Rating ~ Class,
car_compsution,
FUN = mean
)
ranking_car_class_emission <- ranking_car_class_emission[order(ranking_car_class_emission$CO2.Rating),]
barplot(height = ranking_car_class_emission[1:5,]$CO2.Rating,
horiz = F, las=2, legend = ranking_car_class_emission[1:5,]$Class, col = c("blue", "red", "green", "yellow", "black"))ranking_car_class_smog <- aggregate(Smog.Rating ~ Class,
car_compsution,
FUN = mean
)
ranking_car_class_smog <- ranking_car_class_smog[order(ranking_car_class_smog$Smog.Rating), ]
barplot(height = ranking_car_class_smog[1:5,]$Smog.Rating,
horiz = F, las=2, legend = ranking_car_class_smog[1:5,]$Class, col = c("blue", "red", "green", "yellow", "black"))6. Apakah Ada pengaruh Kapasitas mesin terhadap emisi?
plot(car_compsution$Engine_in_litres,
y = car_compsution$CO2_emission_in_g_per_km,
xlab = "Kapasitas Mesin",
ylab = "CO2 Emisi per KM",
main = "Relasi Konsumsi bahan bakar VS CO2 Emisi"
)cor(car_compsution$Engine_in_litres, car_compsution$CO2_emission_in_g_per_km)#> [1] 0.8241876
cor.test(car_compsution$Engine_in_litres, car_compsution$CO2_emission_in_g_per_km)#>
#> Pearson's product-moment correlation
#>
#> data: car_compsution$Engine_in_litres and car_compsution$CO2_emission_in_g_per_km
#> t = 44.715, df = 944, p-value < 0.00000000000000022
#> alternative hypothesis: true correlation is not equal to 0
#> 95 percent confidence interval:
#> 0.8026122 0.8436092
#> sample estimates:
#> cor
#> 0.8241876
cov(car_compsution$Engine_in_litres, car_compsution$CO2_emission_in_g_per_km)#> [1] 73.02085
insight : …
7. Manakah Tipe bahan bakar yang mempunyai emisi lebih baik?
ranking_fuel_type <- aggregate(CO2_emission_in_g_per_km ~ Fuel_type, car_compsution, FUN = sum)
ranking_fuel_type <- ranking_fuel_type[order(ranking_fuel_type$CO2_emission_in_g_per_km, decreasing = F), ]
barplot(height = ranking_fuel_type$CO2_emission_in_g_per_km, horiz = T,
names.arg = ranking_fuel_type$Fuel_type)insight : …
8. Apakah ada pengaruh konsumsi bahan bakar terhadap emisi?
plot(car_compsution$Fuel_consumption_city_l_per_100km,
y = car_compsution$CO2_emission_in_g_per_km,
xlab = "Konsumsi Bahan bakar per 100 KM",
ylab = "CO2 Emisi per KM",
main = "Relasi Konsumsi bahan bakar VS CO2 Emisi"
)cor(car_compsution$Fuel_consumption_city_l_per_100km, car_compsution$CO2_emission_in_g_per_km)#> [1] 0.9656322
cor.test(car_compsution$Fuel_consumption_city_l_per_100km, car_compsution$CO2_emission_in_g_per_km)#>
#> Pearson's product-moment correlation
#>
#> data: car_compsution$Fuel_consumption_city_l_per_100km and car_compsution$CO2_emission_in_g_per_km
#> t = 114.15, df = 944, p-value < 0.00000000000000022
#> alternative hypothesis: true correlation is not equal to 0
#> 95 percent confidence interval:
#> 0.9610440 0.9696884
#> sample estimates:
#> cor
#> 0.9656322
cov(car_compsution$Fuel_consumption_city_l_per_100km, car_compsution$CO2_emission_in_g_per_km)#> [1] 214.8151
insight : …
A work by Ricky Ariansyah